Я пытаюсь интегрировать API-интерфейс clickstream с приложением React. Я хочу иметь возможность устанавливать глобальные обработчики событий для отправки данных о потоке кликов. Например, создание обработчика событий для всех кнопок, отображаемых в React, для вызова trackButtonClick(name)
. Альтернативой этому было бы добавить этот вызов в каждый отдельный метод обратного вызова onClick.
Я не знаком с React, но в vanilla JS это можно сделать так:
window.addEventListener('click', event => {
if (event.target && event.target.nodeName === 'BUTTON') {
// Process clicks..
}
}
Я думаю, что вы можете создать объект, который будет прослушивать все клики События в компоненте высокого порядка, таком как Window. Эти события содержат важную информацию об элементе, по которому они были запущены, а также другие свойства, которые могут быть полезны. И тогда вы можете передавать эти данные.
Если вы откроете Chrome Developer Tools, а затем в console
напишите window.addEventListener("click", (event) => {console.log(event)})
вы сможете видеть все события каждый раз, когда нажимаете на окно.