使用 useState 在反应中更新数组

时间:2021-05-31 15:44:50

标签: arrays reactjs filter react-hooks use-state

嘿,我正在尝试删除对象并设置新数据,但是每次我尝试它都会回调以前的状态。例如删除艾玛返回 ([ {name:"red"},{name:"reeed"} ],然后删除 reed 应该返回 ([ {name:"red"} ] 但是它返回 ([ {name: "red"},{name:"emma"}]。提前致谢

const [test1, setTest] = useState([ {name:"red"},{name:"reeed"},{name:"emma"}]);

const deleteFunction= (name) => { 
        setTest([...test1.filter(item => item.name !==  name)]);       
    };

1 个答案:

答案 0 :(得分:-1)

解决方案:

setTest((prevState) => (prevState.filter(item => item.name !== name)));