React에서 모달, 팝업, 다이얼로그 같은 오버레이를 선언적으로 관리하는 라이브러리
중간맛 분석
TypeScript 기반의 React 라이브러리입니다. overlay.open()과 overlay.openAsync()를 통해 콜백 함수 방식의 상태 관리 복잡도를 줄이고, Promise 기반으로 결과를 처리합니다. OverlayProvider로 감싸면 바로 사용 가능하며, 데모는 의 버튼 클릭 예제처럼 간단합니다. 난이도는 낮아 React 기초 경험이 있으면 금방 배울 수 있습니다.
이런 레포예요
이럴 때 쓰면 좋아요
- 복잡한 모달·팝업 상태 관리를 단순화하고 싶을 때
- Promise 기반으로 사용자 선택 결과를 받아야 하는 확인/취소 다이얼로그 구현
- 여러 페이지에서 재사용 가능한 오버레이 컴포넌트를 만들 때
핵심 기능
대안 대비 차별점
전문화된 오버레이 관리에 특화되어 있어 복잡한 모달/다이얼로그 상태를 선언적이고 간단하게 처리할 수 있습니다.
먹어본 사람들
실제로 차려 먹어본 손님들의 흔적이에요 — 한마디와 완주 인증 모두 검수 후 공개돼요.
이 레포, 해먹는 법
처음 오셨어요? 어렵지 않아요 — 위에서 아래로 따라 하면 내 컴퓨터에 이 레포를 차려서 바로 맛볼 수 있어요.
준비물
- React 기초 이해
- npm 또는 yarn 패키지 매니저
바로 차려먹기Node.js (yarn)
깃밥이 레포 구조를 확인하고 만든 실행 명령이에요. 터미널에 붙여넣으면 받기부터 실행까지 한 번에 진행돼요.
git clone --depth 1 https://github.com/toss/overlay-kit.git && cd overlay-kit && yarn
실행 명령은 README를 확인하세요.
코드는 내 컴퓨터에서 실행돼요 — 처음 보는 레포라면 내용을 한번 훑어보고 실행하는 습관을 추천해요.
README가 안내하는 자세한 단계 보기
- npm을 통해 overlay-kit을 설치합니다.
npm install overlay-kit
- 앱 진입점에서 OverlayProvider로 감싸줍니다.
import { OverlayProvider } from 'overlay-kit';
const app = createRoot(document.getElementById('root')!);
app.render(
<OverlayProvider>
<App />
</OverlayProvider>
);
- 버튼 클릭 시 overlay.open()으로 간단한 오버레이를 엽니다.
import { overlay } from 'overlay-kit';
<Button
onClick={() => {
overlay.open(({ isOpen, close, unmount }) => (
<Dialog open={isOpen} onClose={close} onExit={unmount} />
))
}}
>
Open
</Button>
- Promise 기반의 비동기 오버레이를 사용하려면 overlay.openAsync()를 씁니다.
<Button
onClick={async () => {
const result = await overlay.openAsync<boolean>(({ isOpen, close, unmount }) => (
<Dialog
open={isOpen}
onConfirm={() => close(true)}
onClose={() => close(false)}
onExit={unmount}
/>
))
}}
>
Open
</Button>
깃밥트라이로 맛보기
받아보기 귀찮고 살짝 불안했다면 — 안전 스캔부터 설치까지 터미널 한 줄로 끝나요.
터미널에 붙여넣으면 깃밥 안전 스캔 → 격리 폴더 clone → 설치 → 실행법 안내까지 자동이에요. 처음이어도 괜찮아요 — 이 한 줄이 전부예요.
npx gitbap-try toss/overlay-kit
Node.js만 있으면 설치 없이 실행돼요 · 깃밥트라이가 뭐예요? →
별 추이 · 7일
활용성 · 따라 만들기 좋은가
- 관대한 라이선스
- 테스트 있음
- 예제 디렉토리
- 최근 활동
- AGENTS.md
- llms.txt
- 템플릿
🟢 최근 활동 있음 · 2024년 생성
「웹·Next.js·풀스택」 이런 레포, 매주 받아보실래요?
매주 월요일 아침, 골라 담은 밥상만. 광고 없이 · 언제든 해지.
내 레포인가요? README에 깃밥 배지 달기
[](https://www.gitbap.com/r/toss/overlay-kit)🔌 클로드에서 바로 써보기 — 깃밥 연결하는 법
깃밥을 클로드에 연결하면 이런 레포를 클로드·커서·Codex에서 바로 찾고 체험할 수 있어요.
클로드 설정 → 커넥터에 이 주소를 붙여넣기.
https://www.gitbap.com/api/mcp플러그인을 설치하면 /gitbap-trending·/gitbap-try 슬래시 커맨드로 레포를 그 자리에서 체험. Claude Code에서 아래 두 줄을 차례로 실행하세요.
/plugin marketplace add jakeparkcolde/gitbap-cowork/plugin install gitbap-cowork@gitbapAI가 README 기반으로 요약했습니다 · 원문 보기