2016-09-12 8 views
0

Redux - reRenderにもかかわらず入力値を保存するには? 今では、値を入れて変更を保存し、しかし、唯一の1ポイントデータ前 だから私は、2回目をクリックしたときにすることができます - 1-STRedux - reRenderにもかかわらず入力値を保存するには?

constructor(props) { 
    super(props); 
    this.fields = {} 
} 
.... 
onChangeName(e) { 
    this.fields.tableName_input = e.target.value 
} 
onChangeParticipants(e) { 
    this.fields.tableParticipants_select = e.target.value 
} 
componentDidUpdate(params){ 
    if (params.editing){ 
     console.log(params) 
     let tableName_input = this.fields.tableName_input && this.fields.tableName_input || params.table.name 
     ReactDOM.findDOMNode(this.refs.tableName_input).value = tableName_input 
     let tableParticipants_select = this.fields.tableParticipants_select && this.fields.tableParticipants_select || params.table.participants 
     ReactDOM.findDOMNode(this.refs.tableParticipants_select).value = tableParticipants_select 
    } 
} 
+0

あなたの質問にredux関連のコードはありません。 – Tyrsius

+0

Reduxのディスパッチに問題がありました - 編集減算器がparams.editing = trueで呼び出されたが、他のすべての呼び出しのデフォルトのケースで問題が発生しましたが、そのパラメータはまだtrueでした。私は上記のComponentのReactコードの問題を考えました –

答えて

0

は貯蓄を発射コードを追加してください取得します、私はこの問題を考えますfieldsパラメータを更新する方法です。

しかし、プロパティとしてこれを行うことは良くありません、あなたはreduxを通じて管理している場合、あなたはredux-formを見てお勧めします、このライブラリはかなり素晴らしいです、フォームフィールドをredux状態に管理することができます。これはテストに役立ち、コンポーネントを純粋な状態に保ちます。コンテンツはredux状態になります。

関連する問題