我是Relay&React的初学者。如果我在多个组件中编写此确切的QueryRenderer,网络将多次调用吗?还是只会调用一次?我检查了“网络”标签(Chrome调试器),但只看到1个。如果它将触发多个网络呼叫,那么整合的最佳方法是什么? https://relay.dev/docs/en/query-renderer
<QueryRenderer
environment={environment}
query={graphql`
query ExampleQuery($pageID: ID!) {
page(id: $pageID) {
name
}
}
`}
variables={{
pageID: '110798995619330',
}}
render={renderQuery}
/>
答案 0 :(得分:1)
对于每个中继environment
,query
结果将被缓存。
因此,对于相同的查询variables
,将不会发生其他网络呼叫。
此外,您应该使用Relay Hooks(类似于FB中使用的),它支持并发模式(实际使用中继的主要原因)。
请注意,这个问题是Premature Optimization的症状