【发布时间】:2021-07-02 13:56:49
【问题描述】:
假设我有一个查询 useFetchUser() 和一个突变 useMutateUser()。当我的组件被渲染时,我想获取当前用户,然后在查询完成后执行突变。所以我有这样的事情:
const {data} = useFetchUser()
const {mutate} = useMutateUser()
useEffect(() => {
if(data) {
mutate()
}
}, [data, mutate])
现在,当我签入网络选项卡时,我看到突变在查询仍处于待处理状态时开始。我做错了什么?
【问题讨论】:
-
很难说不知道自定义挂钩在做什么。因为只要查询最初加载,
data将是undefined,因此您的条件会阻止突变运行。一般来说,我会将副作用放入查询的onSuccess回调中。 -
你应该在useEffect中使用控制台日志进行调试,你可以控制台日志isLoading和数据来举例。
标签: reactjs react-query