我应该如何处理本地和云上的数据在一个React Native应用程序(Redux)

wgxvkvu9  于 2023-06-30  发布在  React
关注(0)|答案(2)|浏览(157)

我有一个应用程序,它将有这些功能:

屏幕
首页{显示所有分类的最近帖子(API提供每页30条)}
类别{显示所有类别列表}
按类别{按类别显示最近的帖子(API提供每页30个帖子)}
文章{显示文章详细信息和评论}
User-Profile{显示用户资料和最近的帖子(API提供每页30条帖子)}
配置文件设置{显示可更新字段和更新按钮}

现在,我困惑的地方:
1.我应该在开始时用API填充整个商店,还是应该在每个屏幕打开时为每个屏幕调用API?
1.对于更新,比如如果用户喜欢post,那么我应该显示一个微调器或其他东西,直到API完成,还是应该立即更新本地存储值,然后调用API?

zdwk9cvp

zdwk9cvp1#

可以有许多方法来解决这个问题。我的是:
1)我将创建一个模型/管理器来处理也可以访问同一存储的API请求。例如,当屏幕挂载时,使用Home.Manager.getNextPage();并且它将已经知道处理API请求并且还知道如何处理寻呼。
所以所有的计算都在管理器中。当它得到数据时,它将用它更新存储。
2)当我构建一个包含喜欢的应用程序时,我也使用了本地数据。我的方法是设置时间从最后10秒,这样的情况下,用户喜欢一个以上的职位,我可以发送一个批量。因此服务器将不需要处理多个TCP连接,而是需要处理具有多个LIKE数据的TCP连接。
重点是首先将其存储在本地(以防用户在我们更新服务器之前杀死应用程序),然后等待10秒,如果有新的,就像将其添加到数据数组中,如果不只是将数据发送到服务器,则等待另外10秒。在服务器返回它保存在你的数据库之前,不要清除这个本地数据
这样你就可以先显示动画,而不用让用户等待服务器的反馈。

ryevplcw

ryevplcw2#

1.最佳实践是为每个组件进行小的API调用。
你应该用一个加载来加载每个屏幕,然后在收到响应后调用componentDidMount中的API显示数据。
1.对于这类动作,首先进行API调用,禁用点赞按钮,API调用成功后更新商店。
由于某些用户双击而禁用该按钮。这种API通常很快,所以加载没有很好的用户体验。加载将在完全动画之前移除。始终更新响应上的存储数据,而不是请求,因为如果API调用失败,您需要恢复存储更改。

相关问题