UNPKG

mousetrap-react

Version:

A Mousetrap wrapper for ReactJS.

20 lines (19 loc) 626 B
"use strict"; 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;