Reactjs React查询使用变异错误:onLogout不是函数

Reactjs React查询使用变异错误:onLogout不是函数,reactjs,typescript,react-query,Reactjs,Typescript,React Query,我正在为一个简单的api调用(用户注销)实现React Query的UseManotation。我写了一个似乎正确的代码,但在触发突变时,React声称onLogout不是一个函数。如何解决这个问题 代码如下: //api服务 常量注销=()=>{ 返回api.post(“/logout”) 。然后(res=>res) .catch(err=>err) } 常量注销:AuthService[“注销”]=async()=>{ const{mutateAsync}=useMutation(()=>

我正在为一个简单的api调用(用户注销)实现React Query的UseManotation。我写了一个似乎正确的代码,但在触发突变时,React声称
onLogout不是一个函数
。如何解决这个问题

代码如下:

//api服务
常量注销=()=>{
返回api.post(“/logout”)
。然后(res=>res)
.catch(err=>err)
}
常量注销:AuthService[“注销”]=async()=>{
const{mutateAsync}=useMutation(()=>u logout(){
onSuccess:()=>deleteUser()
})
const onLogout=()=>mutateAsync();
返回{
旁观者,
}
};
//类型脚本接口
导出接口身份验证服务{
注销:()=>{onLogout:()=>Promise};
}
//将职能转变为行动
函数MyComponent(){
const{onLogout}=useService(“auth”).logout();
返回(
注销
)

}
异步函数始终返回承诺


您正在使用
async
关键字,并且在注销函数中不使用任何
wait

async函数始终返回承诺


您使用的是
async
关键字,在注销函数中不使用任何
wait

关于类型脚本错误,您使用的是
async
关键字,在注销函数中不使用任何
wait
。异步函数总是返回PromiseAA是的,我忘记了!感谢您指出这一点,它修复了ts问题和useMutation问题。我已在anser部分中移动了我的评论。好的,我已经验证了它,您应得您的25分;)!关于typescript的错误,您正在使用
async
关键字,并且在注销函数中不使用任何
wait
。异步函数总是返回PromiseAA是的,我忘记了!感谢您指出这一点,它修复了ts问题和useMutation问题。我已在anser部分中移动了我的评论。好的,我已经验证了它,您应得您的25分;)!