Javascript 异步存储响应本机保存阵列

Javascript 异步存储响应本机保存阵列,javascript,arrays,react-native,expo,asyncstorage,Javascript,Arrays,React Native,Expo,Asyncstorage,我试图保存一个数组,我试图按照文档进行操作,但失败得很惨。我应该如何写它,这样它就不会给我各种警告和错误 错误: 当我尝试设置项目时得到一个[Object] 获取了一个对象而不是数组 试图分配给只读属性 应为字符串,但应为数组 下面是代码:App.js 从“React”导入React; 进口{ 样式表, 文本, 看法 文本输入, 滚动视图, 可触摸不透明度, 键盘避免了gView, 异步存储 }从“反应本族语”; 从“/app/components/Note”导入注释; 导出默认类App扩

我试图保存一个数组,我试图按照文档进行操作,但失败得很惨。我应该如何写它,这样它就不会给我各种警告和错误

错误:

  • 当我尝试设置项目时得到一个[Object]
  • 获取了一个对象而不是数组
  • 试图分配给只读属性
  • 应为字符串,但应为数组
下面是代码:
App.js

从“React”导入React;
进口{
样式表,
文本,
看法
文本输入,
滚动视图,
可触摸不透明度,
键盘避免了gView,
异步存储
}从“反应本族语”;
从“/app/components/Note”导入注释;
导出默认类App扩展React.Component{
状态={
noteArray:[],
注:文本:“
};
render(){
让notes=this.state.noteArray.map((val,key)=>{
返回(
this.deleteNote(键)}
/>
);
});
返回(
任务者
{notes}
+
this.setState({noteText})}
值={this.state.noteText}
/>
);
}
addNote(){
if(this.state.noteText){
var d=新日期();
this.state.noteArray.push({
日期:
d、 getFullYear()+
"/" +
(d.getMonth()+1)+
"/" +
d、 getDate(),
注意:this.state.noteText
});
this.setState({noteArray:this.state.noteArray});
this.setState({noteText:“});
}
//AsyncStorage.setItem()如何编写它以避免出现错误
警报({noteArray:this.state.noteArray});
}

}
数组和其他对象需要保存为异步存储中的字符串

AsyncStorage.setItem('arrayObjKey', JSON.stringify(myArray));
另外,如果需要更新数组中的值,请使用
AsyncStorage.multiMerge

从React原生文档:

将现有键值与输入值合并,假设两个值都是字符串化的JSON。返回承诺对象


addNote()
错误。你应该考虑<代码>这个状态<代码>是不可变的。制作一份副本并修改副本,然后仅使用副本设置一次状态。我该怎么做?你能给我一些指导或代码吗?我还是谷歌的一个傻瓜?我建议的唯一改进是加入一些OP(原始海报)代码,以显示它如何适合他们的示例,因为他/她提到他们是初学者。