为什么?类型' asyncthunkaction< any,void,{}>'不能分配给类型的参数' AnyAction'
我有这个错误,没有发现相关答案
类型'asyncthunkaction< any,void,{}>'的参数不能分配给类型“ AnyAction”的参数。
<MenuItem
onClick={() => {
dispatch(logout()) // <<--HERE
}}
/>
// slices/tikexAPI.ts
export const logout = createAsyncThunk(`${namespace}/logout`, async () => {
const { data } = await axios({
method: 'post',
url: 'logout',
headers: { crossDomain: true },
})
return data
})
const tikexAPI = createSlice({
name: 'authnUser',
initialState,
reducers: {
setAuthnRes(state, action: PayloadAction<AuthnRes | null>) {
state.resp = action.payload
},
},
extraReducers: (builder) => {
builder
.addCase(logout.fulfilled, (state, { payload }) => {
state.authnRes = null
})
//store.ts
import { configureStore, createSelector } from '@reduxjs/toolkit'
import tikexAPI from './tikexModule/slices/tikexAPI'
export const store = configureStore({
reducer: { tikexAPI: tikexAPI },
})
我只有两个Redux软件包重新安装了它们,这无济于事。
// package.json
{
"dependencies": {
"@reduxjs/toolkit": "^1.8.1",
"react-redux": "^8.0.1",
在本教程之后,它对我有用,很奇怪: https://www.youtube.com/watch.com/watch.com/watch.com/watch.com/watch ?v = xtd4ymkwi7w
kukodajanos@Kukoda-MacBook-Pro-2 Team % yarn why redux
yarn why v1.22.18
[1/4]
I got this error, found no relevant answer in SO
Argument of type 'AsyncThunkAction<any, void, {}>' is not assignable to parameter of type 'AnyAction'.
<MenuItem
onClick={() => {
dispatch(logout()) // <<--HERE
}}
/>
// slices/tikexAPI.ts
export const logout = createAsyncThunk(`${namespace}/logout`, async () => {
const { data } = await axios({
method: 'post',
url: 'logout',
headers: { crossDomain: true },
})
return data
})
const tikexAPI = createSlice({
name: 'authnUser',
initialState,
reducers: {
setAuthnRes(state, action: PayloadAction<AuthnRes | null>) {
state.resp = action.payload
},
},
extraReducers: (builder) => {
builder
.addCase(logout.fulfilled, (state, { payload }) => {
state.authnRes = null
})
//store.ts
import { configureStore, createSelector } from '@reduxjs/toolkit'
import tikexAPI from './tikexModule/slices/tikexAPI'
export const store = configureStore({
reducer: { tikexAPI: tikexAPI },
})
I have only two Redux package, reinstalled them, did not help.
// package.json
{
"dependencies": {
"@reduxjs/toolkit": "^1.8.1",
"react-redux": "^8.0.1",
Following this tutorial, it works for me, strange: https://www.youtube.com/watch?v=xtD4YMKWI7w
kukodajanos@Kukoda-MacBook-Pro-2 Team % yarn why redux
yarn why v1.22.18
[1/4] ???? Why do we have the module "redux"...?
[2/4] ???? Initialising dependency graph...
[3/4] ???? Finding dependency...
[4/4] ???? Calculating file sizes...
=> Found "[email protected]"
info Reasons this module exists
- "@reduxjs#toolkit" depends on it
- Hoisted from "@reduxjs#toolkit#redux"
info Disk size without dependencies: "244KB"
info Disk size with unique dependencies: "1.06MB"
info Disk size with transitive dependencies: "1.11MB"
info Number of shared dependencies: 2
✨ Done in 0.29s.
kukodajanos@Kukoda-MacBook-Pro-2 Team % npm ls redux
[email protected] /Users/kukodajanos/Workspace/Tikex/Portal/Team
└─┬ @reduxjs/[email protected]
└── [email protected]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
似乎您没有正确使用正确键入的useappdispatch/useappselecter挂钩,至少这是该错误的最常见来源。请按照 typescript QuickStart 。
It seems like you are not using correctly typed useAppDispatch/useAppSelector hooks, at least that is the most common source for that error. Please follow the TypeScript QuickStart.