javascript - 如何在react-native中从AsyncStorage中删除特定项目?

标签 javascript reactjs react-native asyncstorage

我想删除特定帖子,但是当我单击按钮时没有任何反应,我不知道我错过了什么

函数

removePost = async (post_id) => {
try {

    const posts = await AsyncStorage.getItem('posts');
    let postsFav = JSON.parse(postsJSON);
    postsItems = postsFav.filter(function(e){ return e.post_id == post_id })
    AsyncStorage.removeItem('posts', postsItems);

} catch(error) {

}};

按钮

<Button onPress={this.removePost.bind(this, item.post_id)}>

最佳答案

您可以使用 AsyncStorage.setItem() 使用 postItems 更新 posts

removePost = async (post_id) => {
try {
  const posts = await AsyncStorage.getItem('posts');
  let postsFav = JSON.parse(posts);
  const postsItems = postsFav.filter(function(e){ return e.post_id !== post_id });

  // updating 'posts' with the updated 'postsItems'
  await AsyncStorage.setItem('posts', JSON.stringify(postsItems));

} catch(error) {
  console.log('error: ', error);
}};  

关于javascript - 如何在react-native中从AsyncStorage中删除特定项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50246068/

相关文章:

javascript - 如何使用 useState Hook 更新状态

javascript - 当我尝试下载 pdf 时,我在屏幕上看不到,屏幕变灰并且没有显示任何内容。我该如何解决这个问题?

javascript - 在react.js中像纯文本一样显示javascript/html代码

android - 在 React Native Android 中使用开发模式中包含的 js 包打包 apk

javascript - 是什么导致 "drone"在以特定 Angular 转动时出现抖动?

javascript - 在 JavaScript ES6 中,当 JavaScript 文件经常连接成单个文件时,如何在每个文件中隔离名称?

javascript - 为什么 `componentWillReceiveProps` 在 React 的 "Lifting state up"示例中不是必需的?

twitter-bootstrap - 如何在 React-Bootstrap 导航栏中获取按钮?

javascript - 为什么 Javascript Error 对象不被expressjs视为对象

javascript - 从 CKEditor 获取格式化的 HTML