如何使用React Native中的平面列表从API中检测何时有新数据?

时间:2019-01-02 02:36:19

标签: api react-native refresh react-native-flatlist

我正在使用crna构建一个反应本机应用程序,其中有一个平面列表显示来自API的数据。就像Twitter或Facebook的状态供稿一样。我想展示一些这样的徽章

please look at the bottom tab bar

有新帖子时,要使用户知道新帖子,以便他们刷新。

谁能告诉我该怎么做?

非常感谢您。

1 个答案:

答案 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知道您有任何疑问