4

Redux Promise Middleware は、アクション ペイロードの promise 解決を処理しているようです。たとえば、Promiseペイロードとしてを使用する次のアクション作成者を考えてみましょう。

export default class ActionCreators {
  public static fetchAllUsers(): FetchAction {
    return {
      type: actionTypes.FETCH_ALL_USERS,
      payload: fetch("api.com/users")
    };
  }
}

このアクション クリエーターを使用する場合、TypeScript はredux-promise-middleware のために実際に返されるActionデータではなく、返されるデータを期待します。Promise

したがって、次のコードはコンパイルされません。Property 'then' does not exist on type 'Action'.

dispatch(ActionCreators.fetchAllUsers())
    .then(response => {
        // do something with response
    })

Typescript はpayloadtypeのような返されるプロパティを期待しますが、プロミスは既に処理され、実際に返されているため、実際には返されません。

.then使用する準備ができていますが、typescript は何か他のものを期待しているためコンパイルされません。

問題は次のとおりだと思います: redux-promise-middleware アクションを処理するための正しいタイピングを記述し、redux'connect関数に正しいディスパッチ タイプmapDispatchToPropsなどを提供する方法.

4

1 に答える 1