【问题标题】:Update array in react using useState [duplicate]使用useState更新数组反应[重复]
【发布时间】:2021-08-18 22:35:39
【问题描述】:

嘿,我正在尝试删除对象并设置新数据,但是每次我尝试它都会回调以前的状态。例如删除 emma 返回 ([ {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)]);       
    };

【问题讨论】:

  • 这是准确的代码吗?你不能命名变量delete,因为它是 JS 中的保留字
  • 不,不是,对不起!
  • 您如何检查状态是否已更改?你能显示更多代码吗?
  • OOH 等待 nvrm 我想通了,但谢谢!
  • 是的!谢谢!

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


【解决方案1】:

解决方案:

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

【讨论】:

    猜你喜欢
    • 2022-12-06
    • 2019-08-07
    • 1970-01-01
    • 2020-09-27
    • 2020-06-11
    • 2020-10-30
    • 1970-01-01
    • 2021-04-19
    • 2023-02-01
    相关资源
    最近更新 更多