2016-12-19 11 views
3

ここに最初の投稿、忍耐してください。redux形式の無効なフィールドを追跡する最良の方法

私はこの質問を検索しましたが、それを把握することはできませんでした。

A、B、Cの3つのテキストフィールドを含むフォームを考えてみてください。 Aが満たされると、非同期サーバーフェッチが実行され、その結果がBまたはCのいずれか、またはその両方を定義できます。 ユーザがAを変更した場合、B e Cの古い値をクリアして新しいフェッチを開始する必要があります。 これまでのところとても良いです。私はBとCを埋める(またはクリアする)必要があるときに変更アクションをディスパッチしています。

しかし、ルールがあります。 フィールドがサーバーフェッチによって満たされるときは、フィールドを無効にする必要があります。そのため、ユーザーが値を直接変更することはできません。 そうでない場合は、ユーザーが入力できるように、有効にしておく必要があります。

無効にする必要があるフィールドを把握するにはどうすればよいと思いますか?

私が検索した限り、redux-formはこれを直接行っていません。

この情報をredux状態の分離構造に保存してください。レデューサープラグインを使用してレキシフォーム形式の状態を拡張する必要がありますか? どちらの方法でも、各フィールドを無効にする新しいタイプのアクションをディスパッチする必要がありますか?

その他のオプションは、「変更」ではなく「自動入力」を使用し、自動入力としてマークされたフィールドを無効にすることです。

本当に簡単な解決策がありませんか?私はこれまで「単純な」解決策があるかどうかわからない

おかげ

答えて

0

。個人的に、私は小道具disabled={this.state.BGenerated}

を追加し、おそらく、

{ 
    BGenerated: true, 
    CGenerated: true 
} 

、あなたのField入力をレンダリングのようなものをBとCの状態を追跡するリアクト状態を作成します

関連する問題