typescript - 我如何将传递给有效负载创建者的参数类型与来自 RTK 中有效负载创建者的返回类型混合在一起?
问题描述
让我的类型与createAsyncThunk
. 我的createAsyncThunk
样子如下。
export const signupUser = createAsyncThunk<
ISignUpData,
ISignUpProps,
{
rejectValue: IError;
}
>('signup', async (data, { rejectWithValue }) => {
try {
const response = await Axios.anon.post(`/v1/auth/register`, data);
if (response.status !== 201) {
return rejectWithValue({ message: 'Something went wrong' });
}
const { accessToken, ...rest } = response.data
TokenService.updateLocalAccessToken(accessToken.token);
return rest;
} catch (error) {
if (error instanceof Error) {
return rejectWithValue({ message: error.message });
}
return rejectWithValue({ message: 'Something went wrong' });
}
});
我得到的错误是
Property 'accessToken' does not exist on type 'ISignUpProps'
ISignUpProps
看起来像这样
export interface ISignUpProps {
username: string;
email: string;
password: string;
}
ISignUpData
看起来像这样
export interface ISignUpData {
user: {
id: string
username: string,
role: string,
email: string,
isEmailVerified: boolean,
},
accessToken: {
token: string,
expires: string
}
}
据我了解,尖括号 ( ISignUpProps
) 中的第二个参数应该是传入的数据的类型createAsyncThunk
。那么为什么它说不accessToken
存在于ISignUpProps
,什么时候accessToken
返回的有效载荷(ISignUpData
)的一部分?
解决方案
推荐阅读
- css - stackview中的Clarity Modal与UI元素重叠
- git - 无法执行 Git 拉取操作
- arrays - 使用从另一个表派生的条件数组过滤表
- node.js - 为什么我的节点服务器应用程序在我终止其子进程时停止/进入暂停模式?
- spring - Redis Spring 写入 master ,从 slave 读取,没有哨兵
- java - 如何在id下检索许多值
- excel - 在循环中跳过单行代码:另一个工作簿中的 wholerow.delete
- c++ - 为什么 CM_Register_Notification 功能不起作用
- django - 使用数据库中的日期验证日期和时间 - Django
- mongodb - 如何使用文件选项在mongodb中导出到csv