mirror of
https://github.com/towfiqi/serpbear
synced 2025-06-26 18:15:54 +00:00
- Replaces useEffet with useMemo & useLayoutEffect where necessary. - Converts some useEffects to separate hooks. - Moves the functions defined within components to utils. - Splits the Keywords renderPosition function to its own component.
18 lines
465 B
TypeScript
18 lines
465 B
TypeScript
import { useEffect } from 'react';
|
|
|
|
const useOnKey = (key:string, onPress: Function) => {
|
|
useEffect(() => {
|
|
const closeModalonEsc = (event:KeyboardEvent) => {
|
|
if (event.key === key) {
|
|
onPress();
|
|
}
|
|
};
|
|
window.addEventListener('keydown', closeModalonEsc, false);
|
|
return () => {
|
|
window.removeEventListener('keydown', closeModalonEsc, false);
|
|
};
|
|
}, [key, onPress]);
|
|
};
|
|
|
|
export default useOnKey;
|