我有一个页面,您可以在其中查看当前项目,然后单击"下一步"看下一个。以下是此组件的外观:
NetAuth
我的期望,是每个项目仅在第一次请求时被提取,之后才从缓存中使用。
但我所看到的是每次点击" next"时在网络标签中发出的新请求,即使之前已请求此项目。如果我打开Relay DevTools - 具有此ID的项目已存在于商店中:
那为什么每次都会提出新请求? Isn< Relay Modern应该重用以前的缓存数据吗?
答案 0 :(得分:2)
您可以传递QueryRenderer
其中一个dataFrom
道具:
NETWORK_ONLY
- 每次都返回网络。STORE_THEN_NETWORK
- 尝试从商店呈现,然后使用网络中的新数据更新商店。试试这个:
<QueryRenderer
dataFrom="STORE_THEN_NETWORK"
...
/>
答案 1 :(得分:1)
我不认为它是默认情况下查询渲染器的工作方式。
您可能正在寻找relay-query-lookup-renderer