【问题标题】:Data duplication on post delete (Firebase)删除后数据重复(Firebase)
【发布时间】:2019-12-23 22:06:01
【问题描述】:

每次我尝试删除帖子(firebase 实时数据库)时,我也会收到重复的帖子 - 只是在旧帖子之后添加没有以前删除的帖子的新帖子。我只是无法弄清楚为什么以及如何解决这个问题。你有什么想法吗?

这是我从 Firebase 实时数据库 (componentDidMount) 发布列表的代码:

const postsRef = firebase.database().ref("posts");
    const posts = [];
    postsRef.on("value", snapshot => {
      const originalPosts = snapshot.val();
      for (let post in originalPosts) {
        posts.push({
          id: post,
          tags: originalPosts[post].tags,
          title: originalPosts[post].title,
          source: originalPosts[post].source,
          category: originalPosts[post].category,
          publishDate: originalPosts[post].publishDate,
          author: originalPosts[post].author
        });
      }
      this.setState({
        posts
      });
    });

这是我的帖子删除代码:

handleDeletePost = id => {
    const postRef = firebase.database().ref(`/posts/${id}`);
    postRef.remove();
  };

【问题讨论】:

    标签: javascript reactjs firebase firebase-realtime-database


    【解决方案1】:

    问题已解决。

    React State Storing & Outputting Duplicate Values

    您在 db 更改处理程序之外定义了 const quests = []。这意味着在第二次更改时,您会将快照中的所有内容推送到相同的任务数组中,该数组可能已经添加了以前的快照。

    非常感谢瑞恩·科格斯韦尔

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-23
      • 2017-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多