Javascript 如何在React中传递并保持全局变量在函数中保持不变?

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

我是新来的。我正在尝试从常量文件导入变量,并在函数中使用它。这是我的演示代码。但是,如果我多次调用该函数,otherCountryList中的国家/地区就会一直附加到COUNTRY\u列表中。如何防止这种情况发生,每次调用函数时,它都会作为新列表附加到COUNTRY_列表中

Constants.js:

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很好,解决了我的问题。