@geniussoft/use-hooks
Version:
Reusable React Hooks from useHooks.com and other online resources
27 lines (26 loc) • 823 B
JavaScript
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;
;