在功能组件中设置状态。 (对象中的数组中的对象)

时间:2021-05-11 01:22:59

标签: reactjs

  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});

他们都没有工作。

1 个答案:

答案 0 :(得分:2)

rolepair 属性映射到一个新数组,并在第一个索引处,使用条件运算符添加一个新的 name 属性:

setPost({
  ...post,
  rolepair: post.rolepair.map(
    (obj, i) => i === 0
      ? { ...obj, name: newData }
      : obj
  )
});