Ответ
Синтетические события — это обёртка над нативными событиями браузера в React, обеспечивающая кросс-браузерную совместимость. Они работают одинаково во всех браузерах, автоматически обрабатывая различия в API событий.
Ключевые особенности:
- Объединяют поведение разных браузеров в единый интерфейс
- Используют пулинг событий для производительности
- События делегируются на корневой элемент (React 17+ изменено)
Пример обработки:
function handleClick(e) {
e.preventDefault(); // Синтетическое событие
console.log(e.type); // 'click'
}
<button onClick={handleClick}>Click</button>
Синтетические события имеют те же свойства, что и нативные, но с некоторыми отличиями (например, e.nativeEvent
даёт доступ к оригинальному событию). React автоматически освобождает ресурсы событий после обработчиков.