嗨,我最近使用 rtk 查询工具学习了新的 react 工具包,我正在尝试使用createApi
rtk 包中的登录系统。
在按下登录按钮对其进行测试后,我看到网络请求通过没有任何问题(状态代码 200),并且我得到一个提供的响应对象user
,token
但是,当我尝试使用我获取返回数据时,useLoginMutation
我得到一个未定义的值。
下面是我的端点的代码,它被注入到一个基本的 api 中:
export const apiLogin = theiaBaseApi.injectEndpoints({
endpoints: (build) => ({
loginUser: build.mutation<UserReadonly, loginValuesType | string>({
query: (values: loginValuesType, redirect?: string) => {
const { username, password } = values;
const header = gettingSomeHeaderHere
return {
url: "login",
method: "GET",
headers,
crossDomain: true,
responseType: "json",
};
},
}),
}),
});
export const { useLoginUserMutation } = apiLogin
然后在我的 React 组件中,我解构突变结果,如下所示:
const [login, {data, isLoading}] = useLoginUserMutation();
const submitLogin = () => {
// pass in username password from the form
login({username, password});
}
假设如果我控制台注销data
并且isLoading
我假设我会看到data: {user: "abc", token: "xyz"}
,因为在我的检查窗口的网络选项卡下我可以看到这个网络请求的响应,但我看到的是data: undefined
有没有人有解决这个问题的经验?