const [post, setPost] = useState({
title: '',
rolepair: [{name: '', job: ''}],
industry: '',
due_at: '',
content: '',
});
如果我想将数据设置到 post.rolepair[0].name
中,我该怎么做?
我试过了
setPost({...post, rolepair[0].source : newData});
setPost({...post, rolepair: post.rolepair[0].source(newData)});
setPost({...post, rolepair[0]: sorce : newData});
他们都没有工作。
答案 0 :(得分:2)
将 rolepair
属性映射到一个新数组,并在第一个索引处,使用条件运算符添加一个新的 name
属性:
setPost({
...post,
rolepair: post.rolepair.map(
(obj, i) => i === 0
? { ...obj, name: newData }
: obj
)
});