You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用useState时如何更新状态并将新数据添加至数组首位?

把新数据添加到React数组状态的首位

很容易实现的,你只需要调整一下数组的构造顺序就行啦!

原来的写法是把新数据放在扩展后的原数组后面,现在反过来,把newData放在最前面,再用扩展运算符展开原有的projects数组:

setProjects([newData, ...projects])

这里的核心是利用ES6的扩展运算符...,它会把原数组的所有元素依次展开,所以把新元素放在数组的第一个位置,后面跟上展开的原数组,就能让新数据成为数组的首位元素。

另外,如果你是在异步操作或者需要依赖上一次状态的场景下更新状态,更推荐使用函数式更新的方式,这样能确保你总是基于最新的状态来更新:

setProjects(prevProjects => [newData, ...prevProjects])

这种写法会接收上一次的状态prevProjects作为参数,返回新的数组状态,避免因为React状态更新的异步特性导致的潜在问题,在复杂场景下更可靠。

内容的提问来源于stack exchange,提问作者T. Karter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 21:47:53