如何在反应中为对象数组设置状态

时间:2021-03-23 04:09:13

标签: reactjs

假设我有这样的状态

const [peoples, setPeople] = useState[
      {name: 'Sam', power: 0},
      {name: 'Tam', power: 0},
      {name: 'Lam', power: 0},
      {name: 'Bam', power: 0},
      {name: 'Jam', power: 0},
      {name: 'Yum', power: 0},
    ];

例如我想将 Bam 的幂更新为 2,更新这种对象数组的正确方法是什么

1 个答案:

答案 0 :(得分:0)

如何在react中为以下对象数组设置状态

const [peoples, setPeople] = useState([
  {name: 'Sam', power: 0},
  {name: 'Tam', power: 0},
  {name: 'Lam', power: 0},
  {name: 'Bam', power: 0},
  {name: 'Jam', power: 0},
  {name: 'Yum', power: 0},
]); 

const powerUp = (name, power) => {
    setPeople(peoples.map(
        (people) => 
            people.name === name ? {...people, power: power} : people
    ));
};