98

私が知っている限り、私が間違っている場合は修正してください。redux-thunkは、非同期関数をディスパッチし、アクション自体で値をデバッグするのに役立つミドルウェアですが、redux-promiseを使用すると、独自の実装なしでは非同期関数を作成できませんでしたアクションとしてのメカニズムは、プレーン オブジェクトのみをディスパッチする例外をスローします。

これら 2 つのパッケージの主な違いは何ですか? 単一ページの反応アプリで両方のパッケージを使用する利点はありますか、または redux-thunk に固執するだけで十分でしょうか?

4

3 に答える 3

127

redux-thunkアクション作成者が関数を返すことを許可します:

function myAction(payload){
    return function(dispatch){
        // use dispatch as you please
    }
}

redux-promisepromise を返すことができます:

function myAction(payload){
    return new Promise(function(resolve, reject){
        resolve(someData); // redux-promise will dispatch someData
    });
}

どちらのライブラリも、アクションを非同期または条件付きでディスパッチする必要がある場合に役立ちます。redux-thunkまた、1 つのアクション クリエーター内で複数回ディスパッチすることもできます。どちらを選択するか、または両方を選択するかは、ニーズ/スタイルに完全に依存します。

于 2016-04-12T15:48:08.587 に答える