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

React中如何一行代码克隆State数组并满足ESLint解构规则?

没问题,我刚好有个完美的解决方案满足你的需求——既不用改ESLint规则,也不用增加代码行数,还能符合解构要求。

你可以把原来的两行代码合并成一行,写法如下:

const { data } = this.state, newData = [...data];

这样写既通过解构从this.state里拿到了data(完美符合ESLint的react/destructuring-assignment规则),又在同一行完成了数组克隆并赋值给newData,完全符合你的所有要求,而且可读性也很好。

另外还有一种稍显巧妙但可读性弱一点的写法,用立即执行函数来做解构:

const newData = [...(({ data }) => data)(this.state)];

它通过立即执行函数先解构出this.state.data,再直接展开克隆。不过相比第一种合并声明的方式,还是前者更直观好懂,更推荐你用第一种。

内容的提问来源于stack exchange,提问作者MiBol

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 09:47:30