Javascript 反应本机异步存储保存多个项目

Javascript 反应本机异步存储保存多个项目,javascript,react-native,asyncstorage,Javascript,React Native,Asyncstorage,是否可以使用异步存储保存具有相同密钥的多个项目? 我有一个包含多个可添加到收藏夹的项目的列表视图,当用户按下“添加到favs”按钮时,它会执行以下代码: AsyncStorage.setItem("key", JSON.stringify(item.CodViatura)); 但如果我想添加另一项,它将替换上一项。如何使用同一密钥添加多个密钥?所以我可以在收藏夹屏幕上调用此代码: AsyncStorage.getItem('key').then((cod)=>{ this.setSt

是否可以使用异步存储保存具有相同密钥的多个项目? 我有一个包含多个可添加到收藏夹的项目的列表视图,当用户按下“添加到favs”按钮时,它会执行以下代码:

AsyncStorage.setItem("key", JSON.stringify(item.CodViatura));
但如果我想添加另一项,它将替换上一项。如何使用同一密钥添加多个密钥?所以我可以在收藏夹屏幕上调用此代码:

AsyncStorage.getItem('key').then((cod)=>{
  this.setState({value: JSON.parse(cod)}
  });
})
我知道我可以使用领域进行数据管理,但我发现它比异步存储更难。

存储项目数组

AsyncStorage
  .getItem('key')
  .then(favs => {
      favs = favs == null ? [] : JSON.parse(favs)

      favs.push(item.CodViatura)

      return AsyncStorage.setItem('key', JSON.stringify(favs))
  })

这就是正确设置项目的代码?它不工作,不储存任何物品。@waze好吧,它应该。尝试添加
catch
以查看是否有故障。另外,请尝试添加
。然后(()=>AsyncStorage.getItem('key'))。然后(x=>console.log(x))
检查它是否实际存储了一些内容。我收到以下错误:
可能未经处理的承诺拒绝(id:0):favs.push不是一个函数
您的存储中已经有一些内容不是数组。先把它取下来。或者添加
favs=Array.isArray(favs)?favs:[favs]
在推之前谢谢你!我得到了它!我需要什么特别的东西才能拿到并展示它们吗?