Javascript 删除异步存储中的值
我有一个查找项目是否存在的功能。Javascript 删除异步存储中的值,javascript,react-native,Javascript,React Native,我有一个查找项目是否存在的功能。 addNewPerson(name) { AsyncStorage.getItem('savedPersons', (err, result) => { const name = [name]; if (result !== null) { var newIds = JSON.parse(result).concat(name); AsyncSt
addNewPerson(name) {
AsyncStorage.getItem('savedPersons', (err, result) => {
const name = [name];
if (result !== null) {
var newIds = JSON.parse(result).concat(name);
AsyncStorage.setItem('savedPersons', JSON.stringify(newIds));
console.log('Data Found', result);
} else {
AsyncStorage.setItem('savedPersons', JSON.stringify(name));
console.log('Data Added', name);
}
});
}
现在我想删除“savedPersons”中的某些特定人员。
我尝试了以下代码:
AsyncStorage.removeItem('savedPersons','Uzuner');
错误文本为:“回调不是函数。”
如何删除asycnStorage阵列中的项 已解决: 我写了这个删除项目的代码
removePost = async (post_id) => {
try {
const posts = await AsyncStorage.getItem('savedPersons');
let postsFav = JSON.parse(posts);
const postsItems = postsFav.filter(function(e){ return e !== post_id });
// updating 'posts' with the updated 'postsItems'
await AsyncStorage.setItem('savedPersons', JSON.stringify(postsItems));
} catch(error) {
console.log('error: ', error);
}};
非常感谢所有用户的回复。AsyncStorage.removeItem是一个异步任务,返回承诺或回调。此外,如果要从阵列中删除元素,则需要首先获取阵列,删除元素并将其推回到本地存储。像这样的,
AsyncStorage.getItem("savedPersons")
.then(persons =>{
const index = persons.indexOf("Uzuner");
const modifiedPersons = persons.splice(index,1);
AsyncStorage.setItem("savedPersons",modifiedPersons)
.then(() => console.log(done))
.catch((error) => console.log("error"));
})
.catch(error => console.log("Error while retrieving the savePersons"));
1.从存储器中加载字符串并将其解析到数组2中。将人物从阵列3中移除。将字符串化数组保存到StorageMatrix谢谢。我试试这个。您有任何示例代码吗?