javascript - 导出函数中的全局变量无法访问
问题描述
如果用户在 Web 界面 (ReactJS) 中手动设置语言,我想更新一个变量。但是我无法在导出函数中访问该变量。
我已经尝试使用不同的“导出”组合(也用于变量),但没有任何效果。
文件:index.js
export function getLanguage() {
console.log(languageManuallySelected);
}
预期结果:假
实际结果:未定义
解决方案
问题是该变量languageManuallySelected
未在您要导出的函数的范围内定义。要解决此问题,您需要languageManuallySelected
在其范围内导出封闭函数。一个非常通用的示例如下所示
export function someFunction () {
languageManuallySelected = false;
function getLanguage() {
console.log(languageManuallySelected);
}
}
调用它
import someFunction from './someFile';
someFunction.getLanguage();
应该打印“假”
推荐阅读
- nginx - nginx 将所有域的 www 重定向到非 www
- xcode - MacOS 上的 pyenv zlib 错误:
- android - Android 蓝牙 LE 扫描过滤器
- android - 我可以从 Android 中的服务调用 Alertdialog 吗?
- javascript - Javascript 数学表单字段
- angular2-forms - ngbDateTimepicker ,如何在 angular2 中获取更改事件
- google-cloud-datastore - 没有找到匹配的索引。推荐指数是
- python - 如何从 BNF 生成随机程序
- java - Java:无法访问公共成员变量
- java - Spring Data Redis:反序列化