NotionX/react-notion-x

Notion ページを React で高速レンダリングする TypeScript ライブラリです。

開発の材料自由に使える · MITWeb・Next.js・フルスタックTypeScript難易度
5,421+1今週0
648フォーク147Issue
デモ・公式サイトをひらくreact-notion-x-demo.transitivebullsh.it

中辛 の解説

TypeScript + React スタック。Notion の非公式 (notion-client)でデータを取得し、NotionRenderer コンポーネントで HTML に変換します。コード・方程式・PDF・データベースビューなどの重い機能は動的インポート(next/dynamic)で遅延ロード可能。Next.js、Vite、Remix など複数フレームワークに対応。ミニマル例と本格例の両デモが Vercel で動作中。バンドルサイズは gzip で約 31kb。

이런 레포예요

이럴 때 쓰면 좋아요

  • Notion のページをスタイル済み Web サイトとして公開したい場合
  • ブログや企業サイトを Notion で管理・運営したい場合
  • Notion データベースをデータソースとしたアプリケーションを構築したい場合

핵심 기능

Notion 非公式 API(notion-client)との統合10~100 倍高速な React レンダリングCode・Equation・PDF・Collection など拡張可能なコンポーネント

대안 대비 차별점

公式 Notion API ではなく非公式の私有 API を使用するため、データベースビューや細粒度のアクセス制御も含めて Notion の機能をフルサポートでき、オフィシャル API よりも広い範囲の Notion コンテンツをレンダリングできます。

食べた人たち

実際に使ってみた人の記録です — 一言も完走の記録も、確認のうえで公開しています。

試食評 · 使った人のひとこと

まだ試食評がありません。使ってみたら、最初のひとことをどうぞ。

ほかのリポジトリの試食評を見る →

이 레포로 만든 것들

🖋 완주 인증하기

아직 이 레포로 만든 완주 인증이 없어요. 첫 밥도장을 찍어보세요!

このリポジトリの作り方

はじめてですか? むずかしくありません — 上から順にたどれば、自分の環境で動かして味見できます。

준비물

  • Node.js 環境
  • React プロジェクト
  • Notion ページの公開 ID または認証情報(私有ページの場合)

すぐ動かしてみる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가 안내하는 자세한 단계 보기
  1. notion-client と react-notion-x をインストールします。
npm install notion-client react-notion-x
  1. Notion ページ ID を取得し、API クライアントでデータを取得します。
import { NotionAPI } from 'notion-client'
const notion = new NotionAPI()
const recordMap = await notion.getPage('067dd719a912471ea9a3ac10710e7fdf')
  1. React コンポーネントで NotionRenderer を使用してレンダリングします。
import { NotionRenderer } from 'react-notion-x'
export default ({ recordMap }) => (
  <NotionRenderer recordMap={recordMap} fullPage={true} darkMode={false} />
)
  1. CSS スタイルをインポートします(Next.js の場合は _app.js の最上部)。
import 'react-notion-x/styles.css'
import 'prismjs/themes/prism-tomorrow.css'
import 'katex/dist/katex.min.css'
  1. オプション機能(Code・Equation・Pdf など)を使う場合、next/dynamic で遅延ロードします。
import dynamic from 'next/dynamic'
const Code = dynamic(() =>
  import('react-notion-x/third-party/code').then((m) => m.Code)
)
  1. NotionRenderer の components プロップに渡します。
<NotionRenderer recordMap={recordMap} components={{ Code }} />

ギット飯トライで味見

入れるのが面倒で少し不安だったなら — 安全スキャンからインストールまで、ターミナル一行で終わります。

ターミナルに貼り付ければ、ギット飯の安全スキャン → 隔離フォルダへ clone → インストール → 実行方法の案内まで自動です。はじめてでも大丈夫 — この一行だけです。

npx gitbap-try NotionX/react-notion-x

Node.js さえあれば、インストールなしで動きます · ギット飯トライとは? →

スター推移 · 7日

5,421+1 / 7일

使いやすさ · まねしやすいか

まねしやすいサンプル評点 50/100
  • ゆるいライセンス
  • テストあり
  • サンプル集
  • 最近の更新
  • AGENTS.md
  • llms.txt
  • テンプレート

最近の更新あり · 2020 年に作成

「웹·Next.js·풀스택」 こういうリポジトリを毎週受け取りませんか?

毎週月曜の朝、選んだ一膳だけ。広告なし · いつでも解除。

自分のリポジトリですか? README にギット飯バッジを貼る
[![깃밥](https://www.gitbap.com/badge/NotionX/react-notion-x.svg)](https://www.gitbap.com/r/NotionX/react-notion-x)
Claude からそのまま使う — ギット飯のつなぎ方

ギット飯を Claude につなぐと、こうしたリポジトリを Claude・Cursor・Codex から直接さがして試せます。

方法 ① コネクタ URL

Claude の設定 → コネクタにこのアドレスを貼り付け。

https://www.gitbap.com/api/mcp
方法 ② プラグイン(試用まで)

プラグインを入れると /gitbap-trending·/gitbap-try のスラッシュコマンドで、その場でリポジトリを試せます。Claude Code で下の 2 行を順に実行してください。

/plugin marketplace add jakeparkcolde/gitbap-cowork
/plugin install gitbap-cowork@gitbap
つなぎ方をくわしく →

AI が README をもとに要約しました · 原文を見る