具有两个独立数据集的Refetch Container

时间:2017-11-05 18:22:53

标签: relayjs relay

我有一个包含两个“独立”数据集的组件,其中重新获取参数a更改字段A并重新添加参数b更改字段B

export default createRefetchContainer(
  Component,
  {
    a: graphql`
      fragment Comp_a on Query @argumentDefinitions(
        a: { type: "String!", defaultValue: "" },
      ) {
        A(a: $a) {
          name
        }
      }
    `,
    b: graphql`
      fragment MainList_repo on Query @argumentDefinitions(
        b: { type: "String!", defaultValue: "" }
      ) {
        B(b: $b) {
          name
        }
      }
    `
  },
  {
    a: graphql`
      query CompRefetchQuery($a: String!) {
        ...Comp_a @arguments(a: $a)
      }
    `,
    b: graphql`
      query CompRefetchQuery($b: String!) {
        ...Comp_b @arguments(b: $b)
      }
    `
  }
)

中继文档中没有这样的例子,我只是从片段容器中推断出来。问题在于调用

props.relay.refetch(vars => ({ data }), null)

会导致RelayModernGraphQLTag: Expected an operation, got {} .错误(将报告重新提交为呼叫网站)。

有没有办法在中继中创建这样的两个'refetch'子集?或者我是否需要创建两个重新获取容器并嵌套它们?

0 个答案:

没有答案