redux-thunk中使用ts异步action如何做类型推断
export interface DelUserInfoAction {
type: typeof DEL_USER_INFO
}
export type UserInfoActionTypes = DelUserInfoAction
export function userInfoReducer(state = initUserState, action: UserInfoActionTypes): iUserInfoState {
switch (action.type) {
case DEL_USER_INFO:
return { ...initUserState }
default:
return state
}
}
// action
export function deleteUserInfo(): UserInfoActionTypes {
return {
type: DEL_USER_INFO
}
}
export const asyncLogout = ():ThunkAction<void, RootState, null, Action<string>> => async (dispatch) => {
await apiLogout()
dispatch(deleteUserInfo())
}
// 组件中
const btnClick = () => {
store.dispatch(asyncLogout)
}
// 报错
Argument of type 'ThunkAction<void, CombinedState<{ user: iUserInfoState; }>, null, Action<DelUserInfoAction>>' is not assignable to parameter of type 'AnyAction'.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论