1
私はユーザーがいくつかのテキストフィールドを指定し、この量のフィールドを動的にレンダリングするアプリケーションを構築しています。状態を設定して各フィールドで一意になるようにするのに問題があります。リアクションのテキスト入力によるループ処理
現在、フィールドの1つを変更すると、他のすべてのフィールドはその一意のフィールド状態で更新されます。ここに状態を設定するhandleChange関数があります:
handleChange: function(e){
this.setState({
value: e.target.value,
});
}
状態を配列として初期化し、そのように入力を追跡できますか?それとももっと良い方法がありますか?
プログラムは、スプレッド演算子で行に失敗します。私はこの行が何をしているのかをさらに理解しようとしています。 this.state.valuesはすべての現在の状態値を保持し、[i]:e.target.valueは現在の入力の値をターゲット値に設定します(これはvalues [i]ではありません) スタックがサポートしていないかどうかわかりませんが、今後の調査では問題にはならないようです。 – user3745115
おそらく、普及したオペレータにBabelが設定されていないことがあります。私はそれを使用している理由は、配列値が変更されただけで、新しいオブジェクトです。代わりにこれを試すことができます: 'var newValues = this.state.values.slice(); newValues [i] = e.target.value; this.setState({values:newValues}); ' – Jacob
これはそのトリックでした。ありがとうございました! – user3745115