在不同的组件中使用精确的 QueryRenderer

Use exact QueryRenderer in different component

我是 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}
    />

每个中继 environment,将缓存 query 个结果。

因此对于相同的查询variables不会发生额外的网络调用。

此外,您应该使用 Relay Hooks(就像在 FB 中使用的那样),它提供对并发模式的支持(实际使用中继的主要原因)。

Note that this question is a symptom of Premature Optimization