Глобальный обработчик событий для событий пользовательского интерфейса

1

Я пытаюсь интегрировать API-интерфейс clickstream с приложением React. Я хочу иметь возможность устанавливать глобальные обработчики событий для отправки данных о потоке кликов. Например, создание обработчика событий для всех кнопок, отображаемых в React, для вызова trackButtonClick(name). Альтернативой этому было бы добавить этот вызов в каждый отдельный метод обратного вызова onClick.

  • 0
    Может быть, дайте нам образец того, что вы пытались.
Теги:

2 ответа

0

Я не знаком с React, но в vanilla JS это можно сделать так:

window.addEventListener('click', event => {
    if (event.target && event.target.nodeName === 'BUTTON') {
        // Process clicks..
    }
}
0

Я думаю, что вы можете создать объект, который будет прослушивать все клики События в компоненте высокого порядка, таком как Window. Эти события содержат важную информацию об элементе, по которому они были запущены, а также другие свойства, которые могут быть полезны. И тогда вы можете передавать эти данные.

Если вы откроете Chrome Developer Tools, а затем в console напишите window.addEventListener("click", (event) => {console.log(event)}) вы сможете видеть все события каждый раз, когда нажимаете на окно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню