Motile UI

useEscapeKey

ESC 키를 눌렀을 때 콜백을 실행하는 Hook입니다. Modal, Drawer, Popover 등을 닫는 용도로 사용합니다.

미리보기

모달이 열리면 ESC 키를 눌러 닫을 수 있습니다

사용법

1import { useState } from "react";
2import { Button } from "motile-ui";
3import { useEscapeKey } from "motile-ui/hooks";
4
5export function EscapeKeyDemo() {
6  const [isOpen, setIsOpen] = useState(false);
7
8  useEscapeKey({
9    handler: () => setIsOpen(false),
10    enabled: isOpen,
11  });
12
13  return (
14    <div>
15      <Button onClick={() => setIsOpen(true)}>
16        모달 열기
17      </Button>
18
19      {isOpen && (
20        <div className="overlay">
21          <div className="modal">
22            <h3>useEscapeKey 데모</h3>
23            <p>ESC 키를 눌러 이 모달을 닫아보세요!</p>
24            <div className="keyboard-hint">
25              <kbd>ESC</kbd>
26            </div>
27            <Button variant="secondary" onClick={() => setIsOpen(false)}>
28              닫기
29            </Button>
30          </div>
31        </div>
32      )}
33    </div>
34  );
35}

API 레퍼런스

속성타입기본값설명
handler(event: KeyboardEvent) => void-ESC 키 입력 시 실행할 콜백 함수
enabledbooleantrueHook 활성화 여부
useEscapeKey | Motile UI