レスポンスフック: useKeydown ()
キーを押すと、指定した関数を呼び出します.
escapeが押された場合、onclose ()をコールします.
escapeが押された場合、onclose ()をコールします.
import useKeyDown from "hooks/useKeyDown";
...
const SomeComponent = () => {
useKeyDown("Escape", onClose);
...
実際のフックimport { useEffect } from "react";
// https://stackoverflow.com/questions/37440408
// https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values
// Example: useKeyDown("Escape", onClose);
const useKeyDown = (key: string, onKeyDown: () => void) => {
useEffect(() => {
const handleKeyDown = (event: KeyboardEvent) => {
if (event.key === key) onKeyDown();
// or: event.Code === keyCode
};
window.addEventListener("keydown", handleKeyDown);
return () => {
window.removeEventListener("keydown", handleKeyDown);
};
}, []); // eslint-disable-line react-hooks/exhaustive-deps
};
export default useKeyDown;
Reference
この問題について(レスポンスフック: useKeydown ()), 我々は、より多くの情報をここで見つけました https://dev.to/elsyng/react-hook-usekeydown-54eeテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol