[英]Append new array of object to the current object of state React Hooks
[英]React: append to a state array object's array
我的狀態看起來像這樣:
const [state, setState] = useState([
{ id: uuidv4(), myList: ["listItem1", "listItem2"] }
{ id: uuidv4(), myList: ["listItem1"] }
])
如何將myList
的值添加到我想要添加的特定對象?
首先,由於您需要計算 uuid 以生成 id,我將使用一個函數來初始化狀態:
const [state, setState] = useState(() => [
{ id: uuidv4(), myList: ["listItem1", "listItem2"] }
{ id: uuidv4(), myList: ["listItem1"] }
])
然后,要將項目添加到myList
數組,我建議您添加如下函數:
function addItem(id, item) {
const newState = state.map(el =>
el.id === id ? {...el, myList: [...el.myList, item]} : el
);
setState(newState);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.