createRefetchContainer 的 Refetch 方法不执行回调

Refetch method for createRefetchContainer doesn't execute callback

我的 QueryRenderer 使用以下查询: ```

graphql`
    query page_Query {
      viewer {
        id
        ...MountedRenderer_viewer
      }
    }
  `

这就是我的 createRefetchContainer 的样子: ```

createRefetchContainer(
  MountComponent,
  graphql`
    fragment MountedRenderer_viewer on User @argumentDefinitions(show: { type: "Boolean", defaultValue: false }) {
      id
      name @include(if: $show)

    }
  `,
  graphql`
    query OwnershipsRenderer_Query($show: Boolean!) {
      viewer {
        ...MountedRenderer_viewer @arguments(show: $show)
      }
    }
  `,
);

在我的 MountComponent 组件中,我在 componentDidMount 中执行此操作: ```

this.props.relay.refetch(
        { show: true },
        err => {
            console.log('done!');
        },
        { force: true },
      );

我查看我的商店,发现 "name" 的数据已提取并与商店合并。但是,MountComponent 不会使用新数据重新呈现,也不会记录 "done"。 MountComponent 不应该订阅观众吗?

我相信 refetch 的签名是 refetch(refetchVariables, renderVariable, observerOrCallback, options) 所以你的回调应该是第三个参数。