【发布时间】:2021-09-01 12:33:53
【问题描述】:
我建立了这个界面
export interface UserInfo {
success?: boolean,
user?: User,
employer?: Employer,
hr?: Hr
}
现在当我这样做时
let data = await loginUser(loginData);
console.log(data.success);
loginUser方法代码:
import {createApi, fetchBaseQuery} from "@reduxjs/toolkit/query/react";
import {BASE_API_ENDPOINT, LOGIN_API_ENDPOINT} from "../../constants/apis";
import {LoginData, UserInfo} from "../../models/apis/UserData";
export const loginApi = createApi({
reducerPath: 'loginReducer',
baseQuery: fetchBaseQuery({ baseUrl: BASE_API_ENDPOINT }),
endpoints: (builder) => ({
loginUser: builder.mutation<UserInfo, LoginData> ({
query: (data: LoginData) => ({
url: LOGIN_API_ENDPOINT,
method: "POST",
body: data
}),
transformResponse: (rawResult : UserInfo) => {
return rawResult
}
})
})
})
export const { useLoginUserMutation } = loginApi;
我收到此错误
类型'{ data: UserInfo; 上不存在属性'success'; } | { 错误:FetchBaseQueryError |序列化错误; }'。
我是打字稿的新手,我想从 { data: UserInfo; 访问 UserInfo 对象但我不能这样做。有人可以帮忙吗?
【问题讨论】:
-
这看起来像是一个错误的方法输入。能否也给我们看看
loginUser()的代码? -
loginUserapi 是否返回{ data: UserInfo; }作为响应? -
我在描述中添加了 loginUser 方法
-
该错误表明您正在使用的数据可能不是成功的结果。在这种情况下,您需要使用类型保护来缩小类型。
-
Console.log 您的回复或在邮递员上查看您收到的回复
标签: javascript reactjs typescript redux redux-toolkit