首页 > 解决方案 > 导出函数中的全局变量无法访问

问题描述

如果用户在 Web 界面 (ReactJS) 中手动设置语言,我想更新一个变量。但是我无法在导出函数中访问该变量。

我已经尝试使用不同的“导出”组合(也用于变量),但没有任何效果。

文件:index.js


export function getLanguage() {

  console.log(languageManuallySelected);

}

预期结果:假

实际结果:未定义

标签: javascriptreactjs

解决方案


问题是该变量languageManuallySelected未在您要导出的函数的范围内定义。要解决此问题,您需要languageManuallySelected在其范围内导出封闭函数。一个非常通用的示例如下所示

export function someFunction () {
    languageManuallySelected = false;
    function getLanguage() {
        console.log(languageManuallySelected);
    }
}

调用它

import someFunction from './someFile';
someFunction.getLanguage(); 

应该打印“假”


推荐阅读