簡體   English   中英

導出函數中的全局變量不可訪問

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM