我正在尝试获取需要将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 } };
}
但正如我所说,我不会在组件中调用此查询,我认为这就是它无法正常工作的原因。
答案 0 :(得分:2)
As outlined in the docs,传递给refetchQueries
的数组的每个对象应包含两个属性:
query:Query是一个接受GraphQL查询的必需属性 使用graphql-tag的gql模板字符串标记创建。它应该包含 单个GraphQL查询操作,将执行一次 突变已经完成。
[variables]:是一个可选对象 查询接受某些变量时所需的变量。
因此,如果您的fetchSong
查询包含任何变量,那么您也需要传入这些变量:
refetchQueries: [{query: fetchSong, variables: { id: 'someID' }}]