わかりましたので、私は正しい解決策を見つけることにとてもイライラしているので、ここに問題を投稿しています。答えを出すことは私を大いに助けてくれるでしょう。
状態ツリーは次のようになります
this.state = {
itemList : [{
_id : 1234,
description : 'This the description',
amount : 100
}, {
_id : 1234,
description : 'This the description',
amount : 100
}],
}
問題は次のとおりです。
this.setState(prevState => ({
itemList: prevState.itemList.map(
obj => (obj._id === 1234 ? Object.assign(obj, { description: "New Description" }) : obj)
)
}));
これは、setStateとprevstateを使用して、データ構造内のオブジェクトの特定の属性を更新する方法です。
このように構築された状態を更新するには、更新する要素のインデックスを見つけ、配列をコピーして、見つかったインデックスを変更する必要があります。
レコードのリストをオブジェクトとして保持し、idをキー、レコードを値として保持すると、より簡単で読みやすくなります。