Я следую 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
. Что на правой стороне? Это похоже на синтаксис ES6 для определения функции Javascript. Но передаем ли мы функцию handleClick или называем ее? С чем это связано с ES5?
Не является this.handleClick(i)
, который немедленно вызывает функцию handleClick
и не передает ее?
Вы читали [MDN документацию о функциях стрелки] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Функции/Arrow_functions)? –