前提
useState上にある配列内のオブジェクトの値を更新する方法をしりたいです。
単純なオブジェクトのみはこちらの記事をみつけ、やや実装までは至りましたが、別の方法がありましたら知りたいです。
実現したいこと
js
1const ppl = [{ name: "hoge" }, { name: "fuga" }]; 2 3const [lst, setLst] = useState(ppl); 4 5// setLstを使って、hogeさんをpiyoにしたい 6// [{ name: "piyo" }, { name: "fuga" }]; 7
自分の解決
一度該当の値を消してから再度追加する方法を思いつき、以下にて実装は出来ておりますが、index
が変わってしまう破壊的変更であるため困っています。
js
1const name = "hoge" 2setLst([...ppl.filter((p) => p.name !== name), {name:"piyo"}])
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/18 09:46