В React обработка событий происходит с помощью передачи функций-обработчиков в качестве атрибутов JSX элементов. Когда происходит событие, React вызывает соответствующую функцию-обработчик и передает ей объект event.
Например, чтобы обработать клик на кнопке, мы можем передать функцию-обработчик в атрибут onClick:
class MyComponent extends React.Component {
handleClick(event) {
console.log("Button clicked!")
}
render() {
return <button onClick={this.handleClick}>Click me</button>
}
}В этом примере мы определяем метод handleClick(), который вызывается при клике на кнопку. Мы передаем этот метод в атрибут onClick элемента button. Когда пользователь кликает на кнопке, React вызывает метод handleClick() и передает ему объект event.
Кроме того, в React есть несколько специальных событий, которые можно использовать для определенных действий, например: onSubmit для обработки отправки формы, onChange для обработки изменения значения элемента формы и т.д.
class MyForm extends React.Component {
handleSubmit(event) {
event.preventDefault()
console.log("Form submitted!")
}
handleInputChange(event) {
console.log(`Input value: ${event.target.value}`)
}
render() {
return (
<form onSubmit={this.handleSubmit}>
<label>
Name:
<input type="text" onChange={this.handleInputChange} />
</label>
<button type="submit">Submit</button>
</form>
)
}
}В этом примере мы определяем два метода: handleSubmit() для обработки отправки формы и handleInputChange() для обработки изменения значения элемента формы. Мы передаем эти методы в атрибуты onSubmit и onChange соответственно. Когда пользователь отправляет форму, React вызывает метод handleSubmit(), который отменяет стандартное поведение (перезагрузку страницы) с помощью метода preventDefault(). Когда пользователь изменяет значение текстового поля, React вызывает метод handleInputChange() и передает ему объект event.