web-dev-qa-db-ja.com

Reduxのstore.dispatchは同期または非同期

これは基本的な質問ですが、他の場所で答えを見つけることができませんでした。

Reduxstore.dispatchは同期ですか、非同期ですか?

非同期の場合、Reactで可能なように、アクションが伝播された後にコールバックを追加する可能性がありますか?

75
dev-null

私の知る限り、ディスパッチアクションは同期的です。非同期呼び出しに対処する場合は、reduxで thunk-middleware を使用できます。この場合、ディスパッチはコールバック関数として提供され、都合の良いときに呼び出すことができます。詳細については、作成者自身によるSOの次の回答をご覧ください。 タイムアウト付きのReduxアクションをディスパッチする方法

65
agpt

コード自体 を知っている人はいません。 =)ご覧のとおり、dispatchは完全に同期しています。ここでの唯一の警告は、store enhancersdispatchメソッドを置き換えることができる(そして行う)ことです。たとえば、 applyMiddlewareエンハンサー を見ると、デフォルトのdispatchメソッドを独自の実装に置き換えることにより、ミドルウェアをジャックできます。私は実際にenhancerの同期性を削除するRedux dispatchを見たことはありませんが。

45
fkulikov