中继现代缓存示例

时间:2017-07-18 07:27:00

标签: react-native graphql relay react-relay

我想在我的本机应用程序中启用缓存。我正在使用GraphQL和Relay现代版。我发现在relay now中默认没有启用缓存,但它们已经从RelayQueryResponseCache公开了relay-runtime,我们可以将其添加到API中的fetchQuery函数中。我阅读了有关它的讨论herehere,但没有看到任何开始的示例。有人可以帮我解决这个问题吗?

修改

好的我想出了一个解决方案。我认为它错过了一些东西,但到目前为止它满足了我们的需求。 我注意到将QueryRenderer中的任何内容传递到cacheConfig结果会将该值传递到我的环境中的fetchQuery函数中。 所以我创建了一个Component,它通过某种关系加载数据并将其解析为查询请求的正确json结构。然后我把它归还给州。然后,我将包含Component的{​​{1}}扩展为已创建的'缓存加载器'。现在,当QueryRenderer被调用时,我要求缓存数据。在此期间,我设置了componentWillMount(),因此我能够处理加载状态。从DB读取是异步的。 我也在其他组件中使用此类。每个人都处理其缓存数据。我把它传递给this.state.loading = true

但是我认为这需要为这个缓存支持的每个QueryRenderer添加一些额外的逻辑。可能将缓存解析器作为Component传递并立即解析环境中的缓存数据会更加清晰。

0 个答案:

没有答案