azi*_*ium 1 typescript redux redux-thunk redux-toolkit
我在这里描述了这个确切的问题https://github.com/reduxjs/redux-toolkit/issues/485#issuecomment-610654378
所以我直接导入了 ThunkDispatch 并使用它。我无法从调度的响应中获取任何密钥而不引发property does not exist错误
@reduxjs/toolkit@1.5.1
Run Code Online (Sandbox Code Playgroud)
const response = await dispatch(deactivateSubscription(args))
Run Code Online (Sandbox Code Playgroud)
const response: PayloadAction<ApiResponse<EmptyBodyResponse>, string, {
arg: DeactivateSubscriptionArgs;
requestId: string;
requestStatus: "fulfilled";
}, never> | PayloadAction<...>
Run Code Online (Sandbox Code Playgroud)
export interface ApiResponse<T = unknown> {
body: T
error: Error
success: boolean
message?: string
}
Run Code Online (Sandbox Code Playgroud)
TS2339: Property 'error' does not exist on type 'PayloadAction<ApiResponse<EmptyBodyResponse>, string, { arg: DeactivateSubscriptionArgs; requestId: string; requestStatus: "fulfilled"; }, never> | PayloadAction<...>'.
Property 'error' does not exist on type 'PayloadAction<ApiResponse<EmptyBodyResponse>, string, { arg: DeactivateSubscriptionArgs; requestId: string; requestStatus: "fulfilled"; }, never>'.
149 |
> 150 | if (!response.error) {
| ^^^^^
151 | setIsEditing(false)
152 | }
153 | }}
Run Code Online (Sandbox Code Playgroud)
根据文档createAsyncThunk,createAsyncThunk不返回实际的“响应” 。相反,它返回“已分派的最终操作对象”,以避免代码中出现“未捕获的拒绝 Promise”错误。
您可以解开结果操作以将实际数据返回到组件中。
另外,请确保您使用的Dispatch类型能够正确理解 thunk。
| 归档时间: |
|
| 查看次数: |
3294 次 |
| 最近记录: |