首页 > 解决方案 > React Native - 我想在以前的数组中推送新项目,如连接或推送

问题描述

我尝试了以下操作,其中国家是我想使用文本输入推送/添加到预先存在的国家/地区的新项目,并连接到以前的数组数据,例如这样。

例如

 saveData = async () => {
       
        try {
            let countries = AsyncStorage.getItem('countries');
            AsyncStorage.setItem('countries', countries.concat(this.state.country));
            alert('Data successfully saved')

            console.log('countries',countries)                      
        } catch (e) {
            alert(e)
        }
        
    }

//我尝试了很多解决方案..

var country = await AsyncStorage.getItem('countries'); AsyncStorage.setItem('countries', countries += JSON.stringify(country));

//我的输出是这样的, 例如:“name”“email”“address”

表示没有逗号没有括号,如数组

我想要这样的输出,例如 ['name','email','address']

我尝试了很多解决方案,但没有得到结果。有谁能够帮我?

标签: javascriptreactjsreact-nativeconcatenationasyncstorage

解决方案


希望这对你有用

const saveData = async () => {
try {
  let countries = AsyncStorage.getItem("countries")
  if (countries) {
    countries = JSON.parse(countries)
    AsyncStorage.setItem(
      "countries",
      JSON.stringify(countries.push(this.state.country))
    )
  } else
    AsyncStorage.setItem("countries", JSON.stringify([this.state.country]))

  alert("Data successfully saved")
  console.log("countries", countries)
} catch (e) {
  alert(e)
}
}

推荐阅读