2017-11-25 10 views
0

モーダル/ダイアログが開いているとします。そのモーダルには、redux-sagaによって取得されるupdateUserアクションを送出する保存ボタンがあります。 redux-sagaはネットワークコールを行います。このネットワークコールが成功すると、モーダルは自動的に終了するはずです。どのようなredux - サガでこれを行うための最適な方法は?Redux-saga、この近似モーダルフローを処理する最適な方法

redux thunkでは、アクション(promise)を送出し、ネットワークコールが成功したときにモーダルクローズを処理する 'then'をチェーンすることができます。だから、私と同僚は不思議に思っていました。あなたはこれをredux-sagaで行う最適な方法は何ですか?

+0

最初にモーダルが表示される原因は何ですか?アプリケーション/ストア状態のデータですか? – chautelly

+0

ユーザはボタンをクリックしてモーダルを開きます。これは、店舗または地元の州で行うことができます。私たちは、何が最適なのだろうかと思っています。還元することなく、isModalOpenをローカル状態に保ちます。今ではモーダルを私たちのレヴィクスストアに何らかの方法でリンクさせなければならないようです。 –

+0

私は 'isModelOpen'をアプリケーション状態に移します。コンポーネント外のものがその情報にアクセスする必要がある場合は、それを上に移動します。 – chautelly

答えて

1

それが私の感想:

  • のは、モーダルの所有者を想定してみましょうが、のはまたいずれの場合(成功または失敗)で、これはいくつかのグローバルを含むことを前提としましょう
  • ローカル状態として開/閉状態を維持状態(reduxが)今の流れを

を変更:ボタンクリックで

  • 火災アクション、あなたのサガdをOESそれが仕事
  • モーダル所有者コンポーネントのcomponentWillReceivePropsでモーダルの所有者コンポーネント
  • に(mapStateToPropsconnect秒でもあなたの小道具に状態のこの作品を添付)あなたのサガによってグローバルな状態で行われた変更を「購読」ですモーダルが開いている場合にこれらの変更を監視し、それに応じてローカルの開閉状態を更新する
関連する問題