Reactjs 将Slice.js文件转换为ts(redux工具包)时出现类型错误
我刚刚用js文件创建了我的示例Redux工具包。现在我正在尝试将它们转换为typescript。部分错误现已修复。但我不知道如何修复下面的两个错误Reactjs 将Slice.js文件转换为ts(redux工具包)时出现类型错误,reactjs,typescript,redux-toolkit,Reactjs,Typescript,Redux Toolkit,我刚刚用js文件创建了我的示例Redux工具包。现在我正在尝试将它们转换为typescript。部分错误现已修复。但我不知道如何修复下面的两个错误 类型“void”上不存在属性“name”。{ state.isFetching=true; }, [fetchUserBytoken.Completed]:(状态,{payload})=>{ state.isFetching=false; state.issucess=true; state.email=payload.email; state.us
您需要为输入的参数定义一个类型。如果您只想键入第一个参数,并且对
thunkAPI
的默认值没有问题,那么可以使用
export const signupUser = createAsyncThunk(
'users/signupUser',
async ({ name, email, password }: ArgumentType, thunkAPI) => {
否则,您必须声明通用参数,如中所述
const fetchUserById=CreateSyncThunk<
//有效负载创建者的返回类型
我的数据,
//有效负载创建者的第一个参数
数字,
{
调度:应用调度
州:州
额外:{
jwt:字符串
}
}
>('users/fetchById',异步(userId,thunkApi)=>{
对于问题#2,请注意我们不鼓励使用对象映射表示法来表示
extraReducers
,因为它通常不太安全,并且在TypeScript中不起作用。请使用构建器表示法,如所述,谢谢。在您的帮助下,我能够解决错误。此外,通过将extrareducer转换为t,问题2得以解决他是个建筑工人。
export const signupUser = createAsyncThunk(
'users/signupUser',
async ({ name, email, password }: ArgumentType, thunkAPI) => {
const fetchUserById = createAsyncThunk<
// Return type of the payload creator
MyData,
// First argument to the payload creator
number,
{
dispatch: AppDispatch
state: State
extra: {
jwt: string
}
}
>('users/fetchById', async (userId, thunkApi) => {