如果用户在Web界面(ReactJS)中手动设置语言,我想更新一个变量。但是,我无法在导出函数中访问该变量。
我已经尝试过使用“导出”的不同组合(也用于变量),但没有任何效果。
文件:index.js
export function getLanguage() {
console.log(languageManuallySelected);
}
预期结果:false
实际结果:未定义
答案 0 :(得分:1)
问题在于,变量languageManuallySelected
在您导出的函数范围内未定义。要解决此问题,您需要导出范围为languageManuallySelected
的封闭函数。一个非常普通的例子看起来像这样
export function someFunction () {
languageManuallySelected = false;
function getLanguage() {
console.log(languageManuallySelected);
}
}
称呼它
import someFunction from './someFile';
someFunction.getLanguage();
应打印'false'
答案 1 :(得分:0)
您的问题没有足够的背景信息,但我会尽力猜测。
也许您需要引用window
作为访问变量的全局作用域:
export function getLanguage() {
console.log(window.languageManuallySelected);
}
答案 2 :(得分:0)
唯一可以假定的是错误的路径名。
或者,您导入时并不仅仅是破坏func。
乍一看,因为您没有提供相关代码,所以我只能被假定为这样。
一个生动的例子,
文件夹:服务/实用程序
export const getValueArray = data => data.map(item => item.value)
现在您应该导入到所需的文件
import { getValueArray } from '--correct_path_name'