How do I update states onchange in an array of object in React Hooks

前端 未结 3 395
醉话见心
醉话见心 2020-12-03 00:41

I have retrieved datas stored using useState in an array of object, the datas was then outputted into form fields. And now I want to be able to update the fields (state) as

3条回答
  •  北荒
    北荒 (楼主)
    2020-12-03 01:30

    This is what I do:

    const [datas, setDatas] = useState([
      {
        id: 1,
        name: "john",
        gender: "m",
      },
      {
        id: 2,
        name: "mary",
        gender: "f",
      },
    ]);
    
    const updateFieldChanged = (name, index) => (event) => {
      let newArr = datas.map((item, i) => {
        if (index == i) {
          return { ...item, [name]: event.target.value };
        } else {
          return item;
        }
      });
      setDatas(newArr);
    };
    
    return (
      
        {datas.map((data, index) => {
          
  • ;
  • ; })}
    );

提交回复
热议问题