PassFront
  1. PassFront
  2. База знаний
  3. DOM и браузер

Что такое onClick?

DOM и браузер

`onClick` — это обработчик события клика: в React — проп для навешивания функции на клик, в HTML/JS — атрибут/свойство события click.

В React

onClick — синтетическое событие; передаётся функция-обработчик:

<button onClick={handleClick}>Кликни</button>
<button onClick={() => save(id)}>Сохранить</button>
  • Использует синтетические события (SyntheticEvent) — обёртку над нативными для кроссбраузерности.
  • Работает через делегирование (React вешает обработчики на корень).
  • В обработчик приходит объект события.
function handleClick(e) {
  e.preventDefault();
  console.log(e.target);
}

В нативном JS

button.addEventListener('click', handleClick); // предпочтительно
button.onclick = handleClick;                    // свойство (одно на элемент)

Инлайн-атрибут <button onclick="..."> — устаревший подход.

Нюансы

  • В React передают функцию, а не её вызов: onClick={fn}, не onClick={fn()}.
  • Для передачи аргументов — стрелка: onClick={() => fn(id)}.

Коротко для собеседования

onClick — обработчик клика. В React это проп с синтетическим событием (кроссбраузерная обёртка, делегирование): передают функцию (onClick={fn}), для аргументов — стрелку. В нативном JS — addEventListener('click', ...) (предпочтительно) или свойство onclick.

Другие вопросы раздела