Min*_*nnR 1 javascript ecmascript-6 reactjs arrow-functions
如果我单击一个按钮,它会调用handleClick它将按钮的值从0增加1.我已经使handleClick代码在两种不同的场景中工作.我理解第一个,我似乎没有掌握第二个.
我写了这个.它有效.
handleClick = () => {
this.setState({count: this.state.count + 1})
}
Run Code Online (Sandbox Code Playgroud)
教程显示了这个,它也有效.
handleClick = () => {
this.setState(({count}) => ({
count: count + 1
}))
}
Run Code Online (Sandbox Code Playgroud)
如果我将代码更改为此,这也适用.
handleClick = () => {
this.setState(() => ({
count: this.state.count + 1
}))
}
Run Code Online (Sandbox Code Playgroud)
使用第二个代码体做同样的事情但比第一个代码更复杂的优点是什么?
我理解我正在返回一个对象文字,这基本上是我写的,而不是在第一个代码体中生成它.但是,{count}当我可以将参数保持为空并且仅this.state.count在身体中使用时,为什么我作为参数传递?