我是React的初学者,从在线教程中学习。其中一个课程中使用的元素是...
,可以在下面的代码中看到
handleIncrement = (productId)=>{
const newProducts=[...this.state.products]
const index= newProducts.findIndex(p=> p.id === productId)
newProducts[index].count +=1 ;
this.setState({products : newProducts});
}
它的用法似乎是从CCD_ 2创建一个数组并将其传递给现在是数组的CCD_。你能解释一下具体做什么吗。。。什么时候需要使用?
它被称为排列语法。
在react中,你不应该直接改变状态。因此,如果您有一个要编辑的数组,您将首先使用排列语法创建该数组的副本,编辑新数组,最后将状态设置为已编辑的数组副本。
在这种情况下,使用newProducts = this.state.products
创建副本是不够的,因为两个变量都指向内存中的同一对象,而更改newProducts
与更改`this.state.products.相同