Skip to content

Commit 00fecab

Browse files
committed
feat: 🎸 keep keyboard events in useKeyPress hook
1 parent 5c95f28 commit 00fecab

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

src/__stories__/useKeyPress.story.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const keys = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'];
88

99
const Demo = () => {
1010
const states = [];
11-
for (const key of keys) states.push(useKeyPress(key));
11+
for (const key of keys) states.push(useKeyPress(key)[0]);
1212

1313
return (
1414
<CenterStory>

src/useKeyPress.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ import {useState} from 'react';
22
import useKey, {KeyFilter} from './useKey';
33

44
const useKeyPress = (keyFilter: KeyFilter) => {
5-
const [isDown, set] = useState(false);
6-
useKey(keyFilter, () => set(true), {event: 'keydown'}, [isDown]);
7-
useKey(keyFilter, () => set(false), {event: 'keyup'}, [isDown]);
8-
return isDown;
5+
const [state, set] = useState<[boolean, null | KeyboardEvent]>([false, null]);
6+
useKey(keyFilter, (event) => set([true, event]), {event: 'keydown'}, [state]);
7+
useKey(keyFilter, (event) => set([false, event]), {event: 'keyup'}, [state]);
8+
return state;
99
};
1010

1111
export default useKeyPress;

0 commit comments

Comments
 (0)