useEventListener
Agregar detectores de eventos a un elemento DOM o al documento.
Características
- Elimina automáticamente el event listener cuando el componente se desmonta.
- Admite un objeto de referencia como elemento de destino.
- Puede especificar opciones de evento como
capture
,once
ypassive
. - Soporte completo de TypeScript para el tipo de evento.
Instalación
Instala el custom hook desde su linea de comando.
npm i @raddix/use-event-listener
Usage
Agrega un evento al objeto global
En este ejemplo, se llamará a la función handle
cuando se active el evento click
en el objeto window
.
De forma predeterminada, el detector de eventos se agregará al objeto global window
. Por lo tanto, no es necesario especificar el objeto de destino.
Agrega un evento a un elemento
En este ejemplo, se llamará a la función handle
cuando se produzca el evento
mousemove
en el elemento div
.
Para agregar un detector de eventos a un elemento, debe pasar su ref
a la opción target
.
API
Parámetros
Parámetros | Description | Required | Type |
---|---|---|---|
type | El tipo de evento que se va a escuchar. Puede ser cualquier tipo de evento admitido por el navegador. | Si | string |
handler | La función que se llama cuando se desencadena el evento. | Si | function |
options | Las opciones de configuración. | No | object |
Opciones
Opciones | Descripción | Requerido | Tipo |
---|---|---|---|
target | El elemento de destino al que agregar el detector de eventos. Puede ser un objeto de referencia o un elemento DOM. | No | RefObject | HTMLElement |
capture | Un booleano que indica que los eventos de este tipo se enviarán al oyente registrado antes de enviarse a cualquier EventTarget debajo de él en el árbol DOM. | No | boolean |
once | Un valor booleano que indica que el oyente debe invocarse como máximo una vez después de agregarse. Si es verdadero, el oyente se eliminará automáticamente cuando se invoque. | No | boolean |
passive | Un valor booleano que indica que el oyente nunca llamará a preventDefault(). Si es así, el agente de usuario debería ignorarlo y generar una advertencia en la consola. | No | boolean |