数据使用对我的目标用户来说非常重要。因此,我正在寻找一种方法,它将帮助我减少react和react原生应用程序中的react重新发布周期中的数据获取次数。
假设我有一个页面,它呈现从API获取的所有项。由于API的数据可以随时更新,因此每当用户显示此页面时,我都必须重新调用API。
是否有任何方法可以让我知道数据已经更新,而无需重新调用API因为我认为我发送的HTTP requests
越少,我消耗的移动数据就越少(也许我错了……我不知道(
我想用Redux
和Socket.io
实现一个解决方案:我想准备一个名为data-updated
的事件,该事件将由socket.io管理,每当其中一个用户执行更新项lits(API数据(的操作时,data-updated
事件将被触发,并通知所有连接的用户。然后在data-updated
事件处理程序中,我将更新redux store
中的项目列表状态切片。
我担心的是,由于socke.io在整个会话中保持用户和服务器之间的连接,这种方法不会比在任何渲染时调用服务器消耗更多的移动数据吗??
您可以使用带有突变的graphql及其缓存机制,它非常酷,如果我提到它得到了有效处理,您也可以在2g网络中快速运行应用程序。看看它的用法和相对于REST的优势,你会喜欢它的。https://graphql.org/
另一种方法是使用rediCache,但就我个人而言,我还没有使用过它,尽管你可以检查一下。
您可以使用React查询库进行数据获取、更新、缓存等。您可以阅读更多关于它的信息,但也可以阅读它的文档。
https://tanstack.com/query/v4/?from=reactQueryV3&原件=https://react-query-v3.tanstack.com/