react-use/src/useKeyPress.ts
2019-04-12 23:18:11 +10:00

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