react-use/src/useKeyPress.ts
2020-07-02 14:19:03 -05:00

12 lines
423 B
TypeScript

import { useState } from 'react';
import useKey, { KeyFilter } from './useKey';
const useKeyPress = (keyFilter: KeyFilter) => {
const [state, set] = useState<[boolean, null | KeyboardEvent]>([false, null]);
useKey(keyFilter, (event) => set([true, event]), { event: 'keydown' }, [state]);
useKey(keyFilter, (event) => set([false, event]), { event: 'keyup' }, [state]);
return state;
};
export default useKeyPress;