react-use/src/useKeyPress.ts
2019-03-28 19:11:25 +01:00

12 lines
415 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;