我有API调用函数(httpClient
是axios
实例)
interface IRegisterResponse {
accessToken: string;
}
export const register = async ({
name,
password,
token,
}: IRegisterParams) =>
await httpClient.post<IRegisterResponse>('register', {
name,
password,
token,
});
我有useMutation钩子处理来自我的API调用
const { mutate: registerMutation } = useMutation(
['register'],
register,
{
onSuccess: ({ accessToken }) => console.log(accessToken),
}
);
但在onSuccess
回调中,Property 'accessToken' does not exist on type 'AxiosResponse<IRegisterResponse, any>'
消息突出accessToken
我做错了什么,我应该怎么输入?
您正在返回axios响应,而不是数据
onSuccess: ({ data: { accessToken } }) => console.log(accessToken)
或
export const register = async ({
name,
password,
token,
}: IRegisterParams) =>
(await httpClient.post<IRegisterResponse>('register', {
name,
password,
token,
})).data;