データ入力Webアプリケーションを実行するために、反応と基本フラックスを使用しています。 私はストアと通信するルートコンポーネントを持っており、thisのような複雑なデータオブジェクトを取得します。React - setState()リーフレベルの属性を更新しません。
オプション選択要素の変更で、私は上記と同様の構造を持つ別の関連オブジェクトをもたらすアクションを起動します。
私はこの大量オブジェクトを自分のデータ入力ページのルート状態として管理し、データをさまざまなコンポーネントに渡して小道具として渡します。
このオブジェクトのリーフレベルは、私はInput要素にバインドしました。オブジェクトが変わると変化します。これらの変更はすべて、ルートコンポーネントでの次の状態変更から少しずつ下がっています。
MeasurementStore.getAllMeasurements().then((measurements) => {
this.setState({
measurements : measurements
});
});
私の場合、リーフレベルの値は状態の変化に対応して変化しません。しかし、次のように追加すると、それが適切に機能し始め、それに応じてリーフレベルの値が変更されます。
MeasurementStore.getAllMeasurements().then((measurements) => {
this.setState({
measurements : {}
});
this.setState({
measurements : measurements
});
});
なぜこれが起こるのですか?
あなたの 'measurements'を空のオブジェクトまたは空の文字列として初期化しましたか? –
空のオブジェクトとして! – jdc91
これを試してくださいthis.setState({ 測定値:{... measurements} }); – Panther