今天,我在我的GraphQL项目中遇到了一个React.js问题。我试图做的是,一旦完成一个突变,就重新获取一个查询。我的代码基如下
const getUserTeamQuery = useQuery(getUserTeam(usersFragment))
const data = get(getUserTeamQuery, 'data.getUserTeam')
const [updateUser] = useMutation(updateUserMutation(usersFragment), {
onCompleted: () => {
getUserTeamQuery.refetch()
}
})
const updateTeam = async () => {
await updateUser({ variables: { input: { pullTeam } } })
}我还把这个问题发表在Github:https://github.com/apollographql/react-apollo/issues/3862上
依赖关系
"@apollo/react-hooks": "^3.1.3",
"apollo-cache-inmemory": "^1.6.3",
"apollo-client": "^2.6.4",
"apollo-link": "^1.2.13",
"apollo-link-context": "^1.0.19",
"apollo-link-error": "^1.1.12",
"apollo-link-http": "^1.5.16",
"apollo-upload-client": "^11.0.0",
"react": "^16.10.2",
"react-apollo": "^3.1.3",有什么办法解决这个问题吗?
发布于 2020-02-27 16:49:34
这是我如何解决问题的立场。
const [updateUser] = useMutation(updateUserMutation(usersFragment), {
refetchQueries: [`getUserTeam`]
})在useMutation的选项中,应该使用refetchQueries而不是onCompleted。
应该管用的!
发布于 2021-01-29 22:25:53
超高速渲染组件可能会导致这个问题,我解决了它通过设置超时1秒,它的工作非常好。如下所示:
setTimeout(() => refetch(),1000);
https://stackoverflow.com/questions/60436513
复制相似问题