伙计们。我开始用redux创建异步操作,当我把异步操作放到调度中时,得到了一个错误:Argument of type '(dispatch: Dispatch) => Promise<void>' is not assignable to parameter of type 'AnyAction'.ts(2345)
异步操作:
import { updateCommentCounterAction } from "../store/commentCounter";
import { PostService } from "../API/PostService";
import { Dispatch } from "redux";
export const fetchComment = (idPost: string | undefined) =>{
return async (dispatch: Dispatch) =>{
const response = await PostService.getPost(idPost);
dispatch(updateCommentCounterAction(response.comments))
}
}
在应用程序中使用操作:
useEffect(() => {
fetchPost();
dispatch(fetchComment(idPost));
}, [])
我做错了什么?谢谢!
1条答案
按热度按时间n6lpvg4x1#
您可能正在使用非类型化的
useDispatch
钩子,它不知道您的商店中活动的中间件。请使用自定义类型化的useAppDispatch
钩子,如Redux TypeScript QuickStart所示。