非同期なフロー

ミドルウェアがなければ、同期的なデータフローだけに対応します。これはcreateStore()を、特に設定せず使った場合です。

applyMiddleware()により、createStore()の性能を高めることができます。絶対に必要というわけではありませんが、簡潔なやり方で非同期なActionを表現できます。

redux-thunkredux-promiseなどの非同期なミドルウェアは、Storeのdispatch()メソッドをラップ(内包)します。Action以外のもの、例えば関数やPromiseをDispatch(送信)できるようにするのです。どんなミドルウェアも、Dispatchされたものを解釈・実行します。そして順番に、チェーン内にある次のミドルウェアへActionを渡します。例えば、PromiseのミドルウェアはPromiseを途中でつかまえます。そして、それぞれのPromiseに応じて開始/終了というActionのペアを、非同期にDispatchします。

チェーン内にある最後のミドルウェアがActionをDispatchするさい、そのActionは普通のObjectである必要があります。このときに、同期的なReduxデータフローが行われます。

非同期を用いた例の、ソースコード完全版を確認してください。

次のステップ

ここまで、Reduxのミドルウェアができることの一例を見てきました。次は実際にミドルウェアがどう機能し、そして自分で作るにはどうすれば良いかを学びましょう。詳しくミドルウェアを学べるセクションへ進みましょう。

results matching ""

    powered by

    No results matching ""