React native Vue本机:试图分配给只读属性
对于那些不知道的人-Vue Native是React Native的包装器。您可以使用VueJS框架编写React本机应用程序 问题是: 我试图使用AsyncStorage存储api列表,但遇到一个错误“试图分配给只读属性” api列表如下所示:React native Vue本机:试图分配给只读属性,react-native,vue.js,vuex,asyncstorage,React Native,Vue.js,Vuex,Asyncstorage,对于那些不知道的人-Vue Native是React Native的包装器。您可以使用VueJS框架编写React本机应用程序 问题是: 我试图使用AsyncStorage存储api列表,但遇到一个错误“试图分配给只读属性” api列表如下所示: apiList: [ {name: "api1", url: "https://example_url1"}, {name: "api2", url: "https://example_url2"}, ] 用户可以向列表中添加API
apiList: [
{name: "api1", url: "https://example_url1"},
{name: "api2", url: "https://example_url2"},
]
用户可以向列表中添加API。这是使用VueX操作完成的。
如果api不在列表中,则会添加(推送)
添加AsyncStorage片段时出错。我是个新手,不知道自己做错了什么。这是我的疏忽。国家: 简单地说,只能使用AsyncStorage存储字符串。 这个问题在过去和现在都得到了解决 解决方案很简单:
AsyncStorage.removeItem('APIs').then(() => {
AsyncStorage.setItem('APIs', JSON.stringify(context.state.apiList));
});
由于它是只读的,我的第一个想法是解决方案不是强制在这个上存储,因为它是只读的,但是我需要改变的是你的算法/模式?但是为什么它是只读的?你能详细解释一下吗?我很高兴你明白了。我以前从未试过这个。我只能说你做得不对。如果某些内容是只读的,那么问题永远不会出现。
static setItem(key: string, value: string, [callback]: ?(error: ?Error) => void)
AsyncStorage.removeItem('APIs').then(() => {
AsyncStorage.setItem('APIs', JSON.stringify(context.state.apiList));
});