我的状态如下所示:
const [state, setState] = useState([
{ id: uuidv4(), myList: ["listItem1", "listItem2"] }
{ id: uuidv4(), myList: ["listItem1"] }
])
如何将 myList
的值添加到我想要添加的特定对象?
答案 0 :(得分:0)
首先,由于您需要计算 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);
}