mym*_*oto 9 javascript mutation typescript reactjs react-query
我目前正在我的项目中尝试react-query。
我在处理突变中的错误时遇到了麻烦。
在我的网络选项卡中,我可以确认服务器正在响应代码 400 或 500,我认为这会使 axios 抛出错误,从而触发定义的 onError 函数。
但是,无论 API 调用如何进行,onSuccess 函数始终会被调用。
我在这里缺少什么?提前致谢。
const { mutate } = useMutation(
['mutation'],
() => axios.patch(API_URL, params),
{
onSuccess: () => {
//this is always fired, even when response code is 400, 500, etc.
void queryClient.invalidateQueries('query');
},
onError: () => {
//should do something but never fired
},
}
Run Code Online (Sandbox Code Playgroud)
);
小智 -7
这可能是因为您按旧顺序传递参数。在文档中它说你应该按如下方式调用它:
useMutation(mutationFn, {
mutationKey,
onError,
onMutate,
onSettled,
onSuccess,
retry,
retryDelay,
useErrorBoundary,
meta,
});
Run Code Online (Sandbox Code Playgroud)
这使得您的代码如下:
useMutation(
() => axios.patch(API_URL, params),
{
mutationKey: 'mutation',
onSuccess: () => {
//this is always fired, even when response code is 400, 500, etc.
void queryClient.invalidateQueries('query');
},
onError: () => {
//should do something but never fired
},
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9534 次 |
| 最近记录: |