React native 如何在react原生应用程序(Redux)中处理本地和云上的数据
我有一个应用程序,其中将包含以下功能: 屏幕: 主页{显示所有类别的最新帖子(API提供每页30篇帖子)} 类别{显示所有类别列表} 按类别{按类别显示最近的帖子(API提供每页30篇帖子)} 发布{用评论显示发布详细信息} 用户配置文件{显示用户配置文件及其最近的帖子(API提供每页30篇帖子)} 配置文件设置{显示可更新字段和更新按钮} 现在,我感到困惑的是:React native 如何在react原生应用程序(Redux)中处理本地和云上的数据,react-native,redux,React Native,Redux,我有一个应用程序,其中将包含以下功能: 屏幕: 主页{显示所有类别的最新帖子(API提供每页30篇帖子)} 类别{显示所有类别列表} 按类别{按类别显示最近的帖子(API提供每页30篇帖子)} 发布{用评论显示发布详细信息} 用户配置文件{显示用户配置文件及其最近的帖子(API提供每页30篇帖子)} 配置文件设置{显示可更新字段和更新按钮} 现在,我感到困惑的是: 我应该在开始时用API填充整个存储区,还是应该 在每个屏幕打开时进行API调用 对于更新,比如如果用户喜欢帖子,那么我应该显示一个
有很多方法可以解决这个问题。我的建议是: 1) 我将创建一个模型/管理器来处理也可以访问同一存储的API请求。例如,当屏幕挂载时,使用Home.Manager.getNextPage();它已经知道如何处理api请求,也知道如何处理分页 因此,所有的计算都将在管理器中。当它获得数据时,它会用它更新存储 2) 当我构建一个包含like的应用程序时,我也使用了本地数据。我的方法是将时间从上次设置为10秒,这样如果用户喜欢多个帖子,我就可以发送大量内容。因此,服务器不需要处理多个tcp连接,只需要处理一个具有多个数据的连接 重点是首先将其存储在本地(以防用户在我们更新服务器之前杀死应用程序),然后等待10秒(如果有新的应用程序,则将其添加到数据数组中),如果不只是将数据发送到服务器,则再等待10秒。在服务器返回保存在数据库中的本地数据之前,不要清理该数据 这样,您可以先显示动画,而不必让用户等待服务器的反馈
由于某些用户双击,请禁用该按钮。这种API的纠结通常是快速的,因此加载没有一个好的UX。加载将在完全动画之前删除。始终更新响应上的存储数据,而不是请求上的存储数据,因为如果API调用失败,您需要恢复存储更改。如果我没搞错,如果用户杀死应用程序,那么下次启动时我应该更新数据库吗?如果是的话,那么我应该多开一家商店来跟踪变化吗?是的,但你不需要跟踪变化。当应用程序启动时,您应该检查是否在本地保存了任何内容以更新服务器。如果有,在后台更新它。这种方法的优点是,您可以通过一个请求发送大量更新。您也可以只更新每次单击,但这可能对服务器有害。(确保在后台检查请求是否已完成!)您还可以使用rabbitMQ之类的代理。或者自己建造一个。这将是一个中间服务器,只保留所有用户任务/MSG,并确保主服务器得到它。如果它不工作或忙,它将稍后再试。这会帮你解决一切的。。可能是更简单的解决方案,但您需要学习新技术。。祝你好运如果互联网速度太慢怎么办?这就是我担心的地方,就像他们要等2-3秒一样。比如说边缘连接..他们会看到一个禁用按钮。当用户知道互联网的状态时,他会这样想。互联网连接不良的用户数量远低于互联网速度良好的用户数量。因此,为普通用户创建UX。