React 的 reduxjs/toolkit 在 typescript 报错的原因?
报错:TS2322: Type any is not assignable to type never
const ErrorSlice = createSlice({
name: 'error',
initialState: [],
reducers: {
Publish: (state, action) => {
console.log(action)
state = [...state, action.payload]
},
Consume: () => [],
}
})
调用端
await axios
.post(`host`, Params)
.then((data: Response) => data.data.Response)
.catch((e) => {
ErrorState.dispatch(Publish(e.response.data.Error))
})
我不太明白 never
什么意思我给的不是字符么很明显的
回复
1个回答
test
2024-06-25
需要使用插件自己的数据类型 PayloadAction
import { createSlice, PayloadAction } from '@reduxjs/toolkit'
const ErrorSlice = createSlice({
name: 'error',
initialState: "",
reducers: {
Publish: (_, action: PayloadAction<你自己的类型或者基础类型>) => action.payload,
Consume: () => "",
}
})
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容