Notion 페이지를 React로 빠르고 정확하게 렌더링하는 TypeScript 라이브러리
중간맛 분석
스택: React + TypeScript, Next.js 권장 (Vite, Remix도 가능). 난이도: 중하(기본 사용법은 간단하지만 고급 커스터마이징 가능). 바로 쓸 수 있는가: 네. notion-client로 페이지 데이터를 가져온 후 NotionRenderer에 전달하면 됩니다. 성능: Lighthouse 95-100점, Notion 공식보다 10-100배 빠름. 무거운 블록(PDF, 데이터베이스)은 next/dynamic으로 지연 로드 가능. 데모: 미니멀/풀 피처 예제가 Vercel에서 라이브 실행 중.
이런 레포예요
이럴 때 쓰면 좋아요
- Notion 페이지를 정적 블로그/문서 사이트로 배포
- Notion 데이터베이스를 갤러리나 포트폴리오로 시각화
- 팀 위키나 내부 문서를 Notion으로 관리하고 웹사이트로 공개
핵심 기능
대안 대비 차별점
공식 Notion API와 달리 비공식 API를 활용해 더 많은 블록을 지원하고, 수만 개 프로덕션 사이트의 검증을 거쳤으며, 자체 타입 시스템과 유틸 라이브러리로 완전한 생태계를 제공합니다.
먹어본 사람들
실제로 차려 먹어본 손님들의 흔적이에요 — 한마디와 완주 인증 모두 검수 후 공개돼요.
이 레포, 해먹는 법
처음 오셨어요? 어렵지 않아요 — 위에서 아래로 따라 하면 내 컴퓨터에 이 레포를 차려서 바로 맛볼 수 있어요.
준비물
- React 16.8 이상
- Node.js 12 이상 (notion-client 사용 시)
바로 차려먹기Node.js (pnpm)
깃밥이 레포 구조를 확인하고 만든 실행 명령이에요. 터미널에 붙여넣으면 받기부터 실행까지 한 번에 진행돼요.
git clone --depth 1 https://github.com/NotionX/react-notion-x.git && cd react-notion-x && pnpm install && pnpm run dev
코드는 내 컴퓨터에서 실행돼요 — 처음 보는 레포라면 내용을 한번 훑어보고 실행하는 습관을 추천해요.
README가 안내하는 자세한 단계 보기
- react-notion-x와 notion-client 설치
npm install react-notion-x notion-client
- Notion 페이지 데이터 가져오기
import { NotionAPI } from 'notion-client'
const notion = new NotionAPI()
const recordMap = await notion.getPage('067dd719a912471ea9a3ac10710e7fdf')
- 필수 CSS 스타일 import (Next.js의 경우 pages/_app.js에)
import 'react-notion-x/styles.css'
import 'prismjs/themes/prism-tomorrow.css' // 코드 하이라이팅용
import 'katex/dist/katex.min.css' // 수식 렌더링용
- NotionRenderer 컴포넌트로 렌더링
import { NotionRenderer } from 'react-notion-x'
export default ({ recordMap }) => (
<NotionRenderer recordMap={recordMap} fullPage={true} darkMode={false} />
)
- (선택) 무거운 옵션 컴포넌트 동적 로드
import dynamic from 'next/dynamic'
const Pdf = dynamic(() => import('react-notion-x/third-party/pdf').then(m => m.Pdf), { ssr: false })
const Collection = dynamic(() => import('react-notion-x/third-party/collection').then(m => m.Collection))
export default ({ recordMap }) => (
<NotionRenderer recordMap={recordMap} components={{ Pdf, Collection }} />
)
깃밥트라이로 맛보기
받아보기 귀찮고 살짝 불안했다면 — 안전 스캔부터 설치까지 터미널 한 줄로 끝나요.
터미널에 붙여넣으면 깃밥 안전 스캔 → 격리 폴더 clone → 설치 → 실행법 안내까지 자동이에요. 처음이어도 괜찮아요 — 이 한 줄이 전부예요.
npx gitbap-try NotionX/react-notion-x
Node.js만 있으면 설치 없이 실행돼요 · 깃밥트라이가 뭐예요? →
별 추이 · 7일
활용성 · 따라 만들기 좋은가
- 관대한 라이선스
- 테스트 있음
- 예제 디렉토리
- 최근 활동
- AGENTS.md
- llms.txt
- 템플릿
🟢 최근 활동 있음 · 2020년 생성
「웹·Next.js·풀스택」 이런 레포, 매주 받아보실래요?
매주 월요일 아침, 골라 담은 밥상만. 광고 없이 · 언제든 해지.
내 레포인가요? README에 깃밥 배지 달기
[](https://www.gitbap.com/r/NotionX/react-notion-x)🔌 클로드에서 바로 써보기 — 깃밥 연결하는 법
깃밥을 클로드에 연결하면 이런 레포를 클로드·커서·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 기반으로 요약했습니다 · 원문 보기