UNPKG

@geniussoft/use-hooks

Version:

Reusable React Hooks from useHooks.com and other online resources

27 lines (26 loc) 823 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const react_1 = require("react"); const useKeyPress = (targetKey) => { const [keyPressed, setKeyPressed] = react_1.useState(false); const downHandler = ({ key }) => { if (key === targetKey) { setKeyPressed(true); } }; const upHandler = ({ key }) => { if (key === targetKey) { setKeyPressed(false); } }; react_1.useEffect(() => { window.addEventListener('keydown', downHandler); window.addEventListener('keyup', upHandler); return () => { window.removeEventListener('keydown', downHandler); window.removeEventListener('keyup', upHandler); }; }, []); return keyPressed; }; exports.default = useKeyPress;