【发布时间】:2021-08-22 01:13:27
【问题描述】:
我对 redux-thunk 非常陌生,尤其是 Typescript 的复杂性。这可能是不需要的信息,但以防万一我想做的是定义一个 thunk 来处理所有 API 请求。为此,我需要有一个 Id 来处理每个请求的状态。 代码是这样的:
export const createRequest: apiRequestActionCreator = (requestId: string) => async (dispatch, getState) => {
//do stuff
dispatch(requestStartedAction(requestId));
try {
//do stuff
dispatch(requestSucceededAction(requestId));
} catch (error) {
//do stuff
dispatch(requestFailedAction(requestId, error));
}
而 apiRequestActionCreator 是一个返回 ThunkAction 的函数,如下所示:
export type apiRequestActionCreator = () => ThunkAction<void, apiRequestStates, {}, apiRequestAction>
只要我将 requestId 参数添加到 thunk,我就会收到错误 Parameter 'dispatch' implicitly has an 'any' type。 (我没有得到无参数函数的错误)
我不得不假设有办法做到这一点,但我不知道如何。
【问题讨论】:
标签: typescript react-redux redux-thunk