【发布时间】:2017-05-31 23:57:54
【问题描述】:
我在学习React,跟着this tutorial做了一个简单的井字游戏,你可以view here in CodePen.
我对箭头函数在 Square 组件的 onClick 属性中的工作方式感到困惑,该属性在 Board 组件的 renderSquare 函数内部返回:onClick={() => this.props.onClick(i)}。同样也是我拥有onClick={ (i) => this.handleClick(i)} 的游戏组件。我以为我可以在没有箭头函数的情况下编写它(就像onClick={this.handleClick(i)}),但这会破坏游戏。
【问题讨论】:
-
粗略解释:
onClick采用在事件触发时执行的函数。当() => this.foobar(blah)完成时,创建一个箭头函数,它使用参数blah执行foobar。你不能做{this.foobar(blah)}的原因是因为它会执行函数并传递返回值。onClick需要一个函数执行,而不是一个值。
标签: reactjs