use-keyup

React hook for listening to custom keyup
events.
Introduction
This hook optimizes keyboard event handling by only initializing a single event listener for each target used, resulting in a more streamlined and efficient process.
This library is also SSR safe, and only runs on the client.
Installation
Install this package with npm
.
npm i @buildinams/use-keyup
Usage
To listen to a single key:
import useKeyup from "@buildinams/use-keyup";
useKeyup("Escape", () => {});
To listen to key modifiers:
import useKeyup from "@buildinams/use-keyup";
useKeyup("KeyG", (event: KeyboardEvent) => {
if (event.ctrlKey)
});
To listen to multiple keys:
import useKeyup from "@buildinams/use-keyup";
useKeyup(["KeyA", "KeyG"], () => {});
Note: When using multiple keys, the callback will be called if any of the defined keys are pressed.
Using Custom Targets
By default, the hook will listen to the window
object. You can however listen to any custom target by passing it as target
within the optional config object. This accepts any object that extends EventTarget
, such as; document
or HTMLElement
. For example:
import useKeyup from "@buildinams/use-keyup";
const elementRef = useRef<HTMLDivElement>(null);
useKeyup("Enter", () => {}, { target: elementRef });
Requirements
This library requires a minimum React version of 18.0.0
.
Requests and Contributing
Found an issue? Want a new feature? Get involved! Please contribute using our guideline here.