代码之家  ›  专栏  ›  技术社区  ›  Taylor Austin

如何在apollo/graphql/react中的refetchQuery期间将Id传递给组件中未调用的查询

  •  1
  • Taylor Austin  · 技术社区  · 8 年前

    我正在尝试获取需要 id 传递给它。但是,我没有在组件中调用查询。我试着用 options ,但无法实现。

    以下是我所拥有的:

     this.props
      .addLyricToSong({
        variables: {
          content: this.state.content,
          songId: this.props.songId
        },
        refetchQueries: [{query: fetchSong}]
      });
    

    正如我所说,我得到的错误是 fetchSong 需要 id号 传递给它。

    我在底部尝试了这个:

    options: props => {
      return { variables: { id: props.songId } };
    }
    

    但正如我所说,我没有在组件中调用此查询,我认为这就是为什么它不起作用的原因。

    1 回复  |  直到 8 年前
        1
  •  2
  •   Daniel Rearden    8 年前

    As outlined in the docs ,作为传递给的数组的一部分的每个对象 refetchQueries 应包括两个属性:

    查询:查询是接受GraphQL查询的必需属性 使用graphql标记的gql模板字符串标记创建。它应该包含 一个GraphQL查询操作,一旦 突变已完成。

    [变量]:是的可选对象 查询接受某些变量时所需的变量。

    所以如果你的 fetchSong 查询接受任何变量,您还需要传入这些变量:

    refetchQueries: [{query: fetchSong, variables: { id: 'someID' }}]
    
    推荐文章