Вот мой родительский компонент
ReactDOM.render(
<div>
<CoordinatesButton onReceiveCoordinates={ mouseCoordinates => console.log(mouseCoordinates) } />
<DelayedButton onDelayedClick={ event => console.log(event) } delay={1500} />
</div>,
document.getElementById('global')
Теперь у меня есть два дочерних компонента. Работает DelayedButton
export default class DelayedButton extends React.Component {
handleClick = (e) => {
e.persist()
setTimeout(this.props.onDelayedClick(e), this.props.delay)
};
render() {
return (
<button onClick={this.handleClick}>
DelayedButton
</button>
);
};
};
и CoordinatesButton
export default class CoordinatesButton extends React.Component {
handleClick = (event) => {
this.props.onReceiveCoordinates([event.clientX, event.clientY])
};
render() {
return (
<button onClick={this.handleClick}>
CoordinatesButton
</button>
);
};
};
Только CoordinatesButton
.
Реквизит для onDelayedClick
возвращает ошибку Callback must be a function. Received undefined.
onDelayedClick={ event => console.log(event) }
это определенно функция, потому что когда я консоль регистрирую ее, она регистрирует
onDelayedClick(event) {
return console.log(event);
}
Почему это так и что я могу сделать, чтобы это исправить?