オンラインで同様の問題を見つけましたが、store.dispatch()
を介して_redux-thunk
_アクションを呼び出すときの解決策はありません。
次のaction
があります。
_export class DBActions {
static startDatabase(): ThunkAction<Promise<void>, {}, IClientState, AnyAction> {
return async (dispatch: ThunkDispatch<{}, {}, AnyAction>, getState: () => IClientState): Promise<void> => {
return new Promise<void>((resolve) => {
dispatch(DBActions.connectDatabase())
setTimeout(() => {
let connection: (Connection | undefined) = getDBConnection(getState())
if (connection) {
dispatch(DBActions.getImports(connection))
resolve()
}
}, 2000)
})
}
}
}
_
これは、コンポーネントのmapDispatchToProps
を介して追加された場合は問題なく機能しますが、store
を定義した後に_store.ts
_内で直接呼び出された場合は機能しません。 store.dispatch(DBActions.startDatabase())
は以下につながります:
_TS2345: Argument of type 'ThunkAction<Promise<void>, {}, {}, AnyAction>' is not assignable to parameter of type 'AnyAction'.
Property 'type' is missing in type 'ThunkAction<Promise<void>, {}, {}, AnyAction>'.
_
どんな助けと提案でもありがたいです!
エラーメッセージを回避する簡単な回避策-解決策ではありませんが:
dispatch<any>(DBActions.getImports(connection))