Reactjs 将数据数组添加到数组状态的正确方法是什么

Reactjs 将数据数组添加到数组状态的正确方法是什么,reactjs,Reactjs,我想把数组数据添加到我的状态数组中,那么我应该怎么做呢 我的阵法道具 0 : {name : "David", Age : 32}, 1 : {name : "John", Age : 23} 我的状态 data : [ {name : "Joy", Age : 24}, {name : "Dave", Age : 28} ] 我的代码 this.setState({ data : [

我想把数组数据添加到我的状态数组中,那么我应该怎么做呢 我的阵法道具

0 : {name : "David", Age : 32},
1 : {name : "John", Age : 23}
我的状态

data : [
 {name : "Joy", Age : 24},
 {name : "Dave", Age : 28}
]
我的代码

this.setState({
            data : [...this.sate.data, props]
         })

您可以这样使用
concat

this.setState({
            data : [...this.state.data].concat(props)
         })
< >编辑:考虑使用<代码> Purvest作为其他回答:

this.setState((prevState) => ({
  data : [...prevState.data].concat(props)
}))

再见,将元素添加到状态数组的正确方法是:

(supposed that your state array is called arrayVar)
this.setState(prevState => ({
  arrayvar: [...prevState.arrayVar, ...data]
}))

当您修复拼写错误时,您所拥有的应该可以工作,但在批量更新的情况下,您可能希望使用prevState

// Sample data:
const props = [
 {name: "David", Age: 32},
 {name: "John", Age: 23}
];

我猜
props
也是一个数组,所以你也需要在这里应用
..
扩展运算符。

不是错误的props,只是我不清楚如何缩短我的编码。我试着使用这个
this.setState((prevState)=>({data:[…prevState.data].concat(props))
谢谢你的回答,也许下次它会对我有用
this.setState((prevState) => ({
  data: [...prevState.data, ...props]
}));