我正在使用crna构建一个反应本机应用程序,其中有一个平面列表显示来自API的数据。就像Twitter或Facebook的状态供稿一样。我想展示一些这样的徽章
有新帖子时,要使用户知道新帖子,以便他们刷新。
谁能告诉我该怎么做?
非常感谢您。
答案 0 :(得分:1)
不知道您是否正在使用某种状态管理工具(例如redux),但这只是每隔一段时间调用API并从那里更新状态的问题。我将以redux为例,因为它非常流行
您可能想要具有以下信息的状态:
currentPosts: [] //array of posts that the user already sees
newPosts: [] // array of new posts user can't see until they hit "new posts" button
使用redux,您可以有一个每5或10秒调用一次的函数,该函数检查API以显示从中获取新帖子数据的位置。如果有新帖子,请将其添加到newPosts数组。这将更新状态,并且如果您的组件连接到状态,它将更新道具。
使用此逻辑,您可以确定是否应该使用简单的布尔值显示“新帖子”按钮。如果数组为空,则将其隐藏;如果不是,则显示按钮。
单击按钮后,您可以更新状态,以便将newPosts数据放入currentPosts数组中,并从那里渲染这些项目。
希望这很有道理!我可能会想念很多东西,但这就是它如何工作的想法。 Lemme知道您有任何疑问