useEventListener

Will setup a listener on the window object and run handler every time that action is triggered.

Usage

import { useState } from 'react';
import { useEventListener } from '@fransvilhelm/hooks';
const UseEventListenerExample = () => {
const [keys, setKeys] = useState<string[]>([]);
useEventListener('keypress', ev => {
setKeys([...keys, ev.key]);
});
return <output>{keys.join(' > ')}</output>;
};

Example

Press any keys:

Parameters

useEventListener accepts three arguments.

ParamTypeRequiredDefaultDescription
typestringtrue-The event type to listen for (e.g. scroll, keypress)
handlerfunctiontrue-The event handler, recieving an untouched version of the emitted event
optionsboolean | AddEventListenerOptionsfalseundefinedOptions to provide as last arguments to window.addEventListener

Returns

useEventListener returns nothing.