В 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.


Назад