我下面的教程的Facebook和我有一個關於下面的代碼問題:React ES6語法。它是立即傳遞函數還是調用函數?
handleClick(i) {
const squares = this.state.squares.slice();
if (calculateWinner(squares) || squares[i]) {
return;
}
squares[i] = this.state.xIsNext ? 'X' : 'O';
this.setState({
squares: squares,
xIsNext: !this.state.xIsNext
});
}
renderSquare(i) {
return <Square value={this.state.squares[i]} onClick={() => this.handleClick(i)} />;
}
某處存在Square
組件,但現在不擔心了。我的問題是onClick
道具上發生了什麼。什麼是右邊?它看起來像定義一個Javascript函數的ES6語法。但是我們是否將handleClick函數傳遞給它或調用它? ES5中減少了什麼?
是不是this.handleClick(i)
立即調用函數,而不是傳遞它?
你讀過[MDN約箭頭函數的文檔(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference /功能/ Arrow_functions)? –