Repository URL to install this package:
|
Version:
1.1.5 ▾
|
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.useKeyboardEvent = void 0;
var react_1 = require("react");
// NOTE: https://medium.com/@nicolaslopezj/reusing-logic-with-react-hooks-8e691f7352fa
var useKeyboardEvent = function (key, callback) {
var handler = react_1.useCallback(function (event) {
if (event.key === key) {
callback();
}
}, [key, callback]);
react_1.useEffect(function () {
window.addEventListener('keydown', handler);
return function () {
window.removeEventListener('keydown', handler);
};
// this dependency array must be present AND empty - ignoring the warning
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
};
exports.useKeyboardEvent = useKeyboardEvent;