2017-10-07 12 views
0

Webサービスからデータを取得する際に、ネストされた進行状況ダイアログを開くダイアログがMaterial UIにあります。ネストされたダイアログは私が好きなパターンではありませんが、クライアントはそうします。両方を閉じるときに、親の前にネストされたマテリアルUIダイアログボックスを閉じるにはどうすればよいですか?

フェッチが成功した場合は、進捗ダイアログの親ダイアログを閉じます。フェッチが失敗した場合は、進行状況ダイアログを閉じますが、親は開いたままにしておきます。

私はReduxを使用していますので、APIリクエストが正常に完了したときにフラグを両方とも閉じてください。これらのフラグは、最終的には小道具を介してダイアログに渡されます。

しかし、親ダイアログはネストされる前にレンダリングされるので、最初に消えてすぐに進捗ダイアログが続きます。それは少し醜いです。

親の前に子を棄却するにはどうすればよいですか?親と同時に行うことはできますか?どちらもうまくいくでしょう---親が閉じられたときに子供を開いておきたいだけです。

答えて

1

進捗ダイアログの前に親ダイアログが閉じると、同じレンダリングサイクルでアンマウントされません。つまり、フラグを設定することは、非同期に実行される2つの異なるアクションによってトリガされます。別のサイクル。私はマテリアルUIに慣れていませんが、2番目のケースでは、おそらくコンポーネントのonCloseフックのようなものがあります。これはアクションをディスパッチして、メインダイアログのフラグを解除します。

関連する問題