2017-09-26 7 views
0

基本的な問題は、AJAXリクエストを使用してデータを更新してからデータの状態を設定することですが、データは更新されません私の状態は更新されますが。私はキーが同じであることが分かっています(それは、私がID mongooseが提供しているためです)。React object.mapがキーのために更新されない

状態を何も設定せずに設定してから、新しいデータを設定して更新するようなことは、または、キーをランダムに生成されたキーに設定すると、それも機能しますが、これらの両方が正しく感じられません。マップ関数を使用するときに、更新されたオブジェクトを再レンダリングする正しい方法を知りたい。

それはこのようなものになります。

Object.keys(this.state.data).map((i) => (
    <MyComponent key={ this.state.data[i]._id } 
)) 

をそして私はthis.setState({ data: response.data })を行い、基本的なAJAX要求を持っています。

更新されたアイテムのビュー内のデータを適切に反応させるにはどうすればよいですか?

答えて

0

インデックスをプレフィックスとして_idに追加できますか?

key={ `${i}_${this.state.data[i]._id}`} 
0

私はあなただけであなたのコードの前に(this.state.data)をCONSOLE.LOG場合ときそれが必要それが更新される、それがキーに関連して、本当にわかりませんか?小道具はコンポーネントに渡されていないようです。

私は頻繁に私はそれに何の問題もなかったリストのキーの地図のインデックスを使用することを意味します。

関連する問題