Что такое 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.