mousetrap-react
Version:
A Mousetrap wrapper for ReactJS.
20 lines (19 loc) • 626 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var Mousetrap = require("mousetrap");
var react_1 = require("react");
var useMousetrap = function (keys, callback, action) {
var cbRef = react_1.useRef(null);
cbRef.current = callback;
react_1.useEffect(function () {
Mousetrap.bind(keys, function (e, combo) {
if (cbRef.current) {
return cbRef.current(e, combo);
}
}, action);
return function () {
Mousetrap.unbind(keys, action);
};
}, [keys]);
};
exports.default = useMousetrap;
;