[英]Global variable created as setInterval function not accessible from within functions
[英]Global variable within export function not accessible
我想更新一個變量,以防用戶在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();
應該打印'false'
您的問題沒有足夠的背景信息,但我會嘗試猜測。
也許您需要引用window
作為全局范圍來訪問變量:
export function getLanguage() {
console.log(window.languageManuallySelected);
}
唯一可以假定的是錯誤的路徑名。
否則,您導入時並不僅是破壞函數。
乍一看,因為您沒有提供相關代碼,所以我只能像這樣假設。
一個活生生的例子是
文件夾:services / utils
export const getValueArray = data => data.map(item => item.value)
現在您應該導入到所需的文件
import { getValueArray } from '--correct_path_name'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.