sed*_*uim 1 apollo reactjs graphql
我正在使用 Apollo-client 将突变发布到我的 graphql 服务器。突变完成后,我想重新获取该数据。我尝试使用挂钩refetchQueries中的参数useMutation,但是当我执行代码时收到此错误:
查询选项是必需的。您必须在查询选项中指定您的 GraphQL 文档。
这是发送突变的代码行:
const [addUser, { data, loading, error }] =
useMutation(ADD_USER_QUERY, {
refetchQueries:[GET_USERS_QUERY]
});
Run Code Online (Sandbox Code Playgroud)
这是我的查询(硬编码参数是为了查看问题是否是由于传递变量引起的):
export const ADD_USER_QUERY = gql`
mutation {
createUser(name: "Albert Einstein", email: "albert@yahoo.ca") {
id
name
}
}
`;
Run Code Online (Sandbox Code Playgroud)
谢谢你!
好吧,所以我弄清楚问题是什么了。我必须传递一个带有数组"query"中键的对象refetchQueries:
const [addUser, { data, loading, error }] =
useMutation(ADD_USER_QUERY, {
refetchQueries: [{ query: GET_USERS_QUERY }],
});
Run Code Online (Sandbox Code Playgroud)
但这很奇怪,因为 ApolloDocs 中没有提到它。他们只是使用一个数组......
// Refetches two queries after mutation completes
const [addTodo, { data, loading, error }] = useMutation(ADD_TODO, {
refetchQueries: [
GET_POST, // DocumentNode object parsed with gql
'GetComments' // Query name
],
});
Run Code Online (Sandbox Code Playgroud)
有谁知道这是为什么?
谢谢!
| 归档时间: |
|
| 查看次数: |
3749 次 |
| 最近记录: |