【问题标题】:how can i handle post like using real time database in react native?我如何处理帖子,比如在 React Native 中使用实时数据库?
【发布时间】:2021-11-21 14:26:50
【问题描述】:

我想处理用户,比如他喜欢帖子心形图标变成红色等。

这是我的数据库结构:

如何访问 Likes 字段并找到当前用户 id,以便根据 id 我可以更改不同的状态。

这是我喜欢的数组,其中包含用户 ID,喜欢状态 0 表示错误

  "likes" : {
"-MgFbI5wXjtjKln1Wkqe" : {
  "aC9dL88GCAXdnGyefY1XDiXd7Iu1" : {
    "like" : 1
  }
},
"-Mgh2-VHK7Ame1RcEs7s" : {
  "Tz3IlnmUvbc0pw9xZCBF1Y42uXo1" : {
    "like" : 0
  },
  "aC9dL88GCAXdnGyefY1XDiXd7Iu1" : {
    "like" : 0
  }
},

**我正在使用 flatlist 来呈现所有帖子,但卡在了如何在单个数组中检索这些喜欢和用户帖子**

【问题讨论】:

  • 您尝试过什么了吗?如果我们可以看到您已经完成的工作,则更有可能有人可以提供帮助。如果您还没有尝试过任何东西,Firebase documentation 通常是一个不错的起点,但那里也有数百个教程。
  • 您好,感谢 cmets 是的,我创建了所有帖子并计算了用户喜欢的数量,但不知道如何在第一次发布渲染时将心形图标的颜色更改为红色/黑色
  • 我真的不知道写值的哪一部分你在苦苦挣扎,所以我们不太可能解释如何比文档写得更好。请编辑您的问题(下面有一个链接)以显示minimal, complete/standalone code that reproduces where you are stuck
  • 谢谢,我编辑帖子

标签: react-native firebase-realtime-database


【解决方案1】:

建议不要为每个点赞添加额外的节点,建议先直接更新like_counts,然后插入所有点赞用户的uid。

- likes by: -uid1 
            -uid2 
- like_count: 2

或者

- likes_by: [contains all uid strings (comma separeted) uid1, uid2]
- like_count: 2

这两个选项都有效,但您必须检查哪个选项会对数据库读/写限制产生更多影响。

【讨论】:

    猜你喜欢
    • 2021-02-26
    • 2020-11-10
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 2020-03-19
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    相关资源
    最近更新 更多