Javascript 如何在React中传递并保持全局变量在函数中保持不变?
我是新来的。我正在尝试从常量文件导入变量,并在函数中使用它。这是我的演示代码。但是,如果我多次调用该函数,otherCountryList中的国家/地区就会一直附加到COUNTRY\u列表中。如何防止这种情况发生,每次调用函数时,它都会作为新列表附加到COUNTRY_列表中 Constants.js:Javascript 如何在React中传递并保持全局变量在函数中保持不变?,javascript,reactjs,list,function,variables,Javascript,Reactjs,List,Function,Variables,我是新来的。我正在尝试从常量文件导入变量,并在函数中使用它。这是我的演示代码。但是,如果我多次调用该函数,otherCountryList中的国家/地区就会一直附加到COUNTRY\u列表中。如何防止这种情况发生,每次调用函数时,它都会作为新列表附加到COUNTRY_列表中 Constants.js: export const COUNTRY_LIST = ['USA', 'UK', 'SPAIN']; index.js import {COUNTRY_LIST} from './consta
export const COUNTRY_LIST = ['USA', 'UK', 'SPAIN'];
index.js
import {COUNTRY_LIST} from './constants/constant';
inputCountry(){
let countryList = COUNTRY_LIST;
//let say pushing other country to the countryList
for (var c = 0; c < this.otherCountryList.length; c ++){
countryList.push(c);
}
console.log(countryList) //expected output:['USA', 'UK', 'SPAIN', 'AUS', 'JAPAN']
// real output after called this function twice:['USA', 'UK', 'SPAIN', 'AUS', 'JAPAN', 'AUS', 'JAPAN']
}
使用以下命令:
const countryList = [...COUNTRY_LIST];
就这样,没有推或for loop或其他任何东西。它只是复制阵列。使用以下方法:
const countryList = [...COUNTRY_LIST];
就这样,没有推或for loop或其他任何东西。它只是复制数组。谢谢您的回答,但我收到一个错误消息msg constants\u constant\u WEBPACK\u IMPORTED\u MODULE\u 12\u。国家/地区列表不适用。此外,如果我使用const来声明countryList,我如何在for循环中将值推送到它?问题是,const并不意味着你不能修改数组,只是你不能重新分配值。您可以推送它,但不能执行类似COUNTRY_LIST=[]的操作。至于错误,可能是您的浏览器不支持spread运算符?你可以试试COUNTRY_LIST.slice。console.log COUNTRY_LIST以检查是否正确导入了它,尽管从您最初的错误来看,您希望它是正确的。谢谢!我试过使用const不起作用,但是var很好,解决了我的问题。谢谢你的回答,但我得到了一个错误消息msg constants\u constant\u WEBPACK\u IMPORTED\u MODULE\u 12\u。国家/地区列表不适用。此外,如果我使用const来声明countryList,我如何在for循环中将值推送到它?问题是,const并不意味着你不能修改数组,只是你不能重新分配值。您可以推送它,但不能执行类似COUNTRY_LIST=[]的操作。至于错误,可能是您的浏览器不支持spread运算符?你可以试试COUNTRY_LIST.slice。console.log COUNTRY_LIST以检查是否正确导入了它,尽管从您最初的错误来看,您希望它是正确的。谢谢!我试着使用const不起作用,但是var很好,解决了我的问题。