首页 > 解决方案 > 我应该如何在反应原生应用程序(Redux)中处理本地和云上的数据

问题描述

我有一个应用程序,其中将包含以下功能:

屏幕

首页{ 显示所有类别的最新帖子(API 提供每页 30 个帖子)}

类别{显示所有类别列表}

By-Category {按类别显示最近的帖子(API 提供每页 30 个帖子)}

发布{显示带有评论的帖子详细信息}

User-Profile {显示用户个人资料及其最近的帖子(API 提供每页 30 个帖子)}

配置文件设置{显示可更新字段和更新按钮}

现在,我感到困惑的地方:

  1. 我应该在开始时用 API 填充整个商店,还是应该在打开每个屏幕时对它们进行 API 调用?

  2. 对于更新,比如如果用户喜欢帖子,那么我应该在 API 完成之前显示一个微调器或其他东西,还是应该立即更新本地存储值然后调用 API?

标签: react-nativeredux

解决方案


可能有很多方法可以解决这个问题。我的是:

1)我将创建一个模型/管理器来处理也可以访问同一商店的 API 请求。例如,当屏幕安装时使用 Home.Manager.getNextPage(); 它已经知道如何处理 api 请求,也知道如何处理分页。

所以所有的计算都将在管理器中。当它获得数据时,它将用它更新商店。

2)当我构建一个包含喜欢的应用程序时,我也使用了本地数据。我的方法是从最后一个开始设置 10 秒的时间,这样如果用户喜欢多个帖子,我可以发送大量帖子。所以服务器不需要处理多个 tcp 连接,而是一个具有多个喜欢数据的连接。

重点是首先将其存储在本地(以防用户在我们更新服务器之前杀死应用程序),然后等待 10 秒(如果有新的),例如将其添加到数据数组中,然后再等待 10 秒(如果不只是发送)数据到服务器。在服务器返回它保存在您的数据库中之前,不要清理此本地数据

这样您就可以先显示动画,而无需让用户等待来自服务器的反馈。


推荐阅读