【发布时间】:2021-01-04 13:51:22
【问题描述】:
我正在制作一个简单的电影观看列表应用程序。 我使用 asyncstorage 来保存选定的电影。 我想删除用户在关注列表部分中选择的电影。现在我正在尝试这段代码:
removeItemValue= async (item, index) => {
let value1 = await AsyncStorage.getItem('movies');
value1 =JSON.parse(value1);
console.log("value1"+value)
//value = item.splice(index,1)
if (value1 !== null){
//var index = value.indexOf(x => x.Title === item.Title);
if (index > -1){
value1.splice(index, 1);
await AsyncStorage.removeItem('movies');
AsyncStorage.setItem('movies',JSON.stringify(value));
}
}
}
但这不起作用。 你能告诉我哪里错了吗?
【问题讨论】:
-
您的存储只能保存字符串值。
AsyncStorage.getItem如果成功,将解析为字符串。您需要使用JSON.parse()反序列化字符串。只有正确存储数据(即:作为 JSON 格式的字符串)才能执行此操作,这可以使用JSON.stringify()来完成。 -
我添加了你说的功能并更新了
标签: javascript react-native asyncstorage