ページ内ナビ
概要
React Three FiberはThree.jsをReact reconciliation modelへ接続するrendererです。Canvas内でmesh、light、geometry、material等をJSXとして宣言し、React state・hooks・component compositionを3D sceneへ適用できます。Three.js ecosystemの機能をReactの構成で扱うための基盤です。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
Three.js objectをJSX elementとして宣言的に構築する
<mesh>、<boxGeometry>、<meshStandardMaterial>等のJSXは対応するThree.js objectへ変換され、React componentとしてscene graphを構成できます。
出典:[1]
React state・event・useFrameを3D render loopへ統合する
component stateやpointer eventをsceneへ利用でき、useFrameでframeごとの処理をrender loopへ登録できます。UI logicと3D behaviorを同じReact component modelで管理できます。
出典:[1]
Three.jsのfeatureとReact ecosystemを組み合わせる
rendererはThree.js objectを表現するため、新しいThree.js featureもJSXから利用できます。drei、postprocessing、XR等の周辺ecosystemもあります。
出典:[1]
向いている用途
React application内でinteractive 3D・visualization・WebGL sceneをcomponent化したい場合に向く
Reactのstate管理・component compositionとThree.js renderingを同一application architectureへ統合したい3D UIやdata visualization、interactive contentに適します。
出典:[1]
導入前の確認
9.8.1はReact 19系とThree.js 0.156以上を要求する
package metadataはReact/React DOM >=19 <19.4、Three.js >=0.156をpeer dependencyとして定義します。READMEもR3F v9はReact 19とpairすることを明示しています。
9.8.1はCanvas lifecycleとReact Activity visibility周辺を修正する
9.8.1ではCanvas unmount時のrenderer dispose、React Activity/Suspenseでのvisibility保持、Canvas rerender時にruntime settingがresetされるcase等が修正されています。
出典:[3]
参考にした公式資料
- [1]React Three Fiber v9.8.1 README(2026-10-05)
- [2]@react-three/fiber 9.8.1 package metadata(2026-10-05)
- [3]React Three Fiber v9.8.1 release(2026-10-05)
- [4]React Three Fiber MIT license(2026-10-05)
編集部からの補足
Three.jsを隠すwrapperではなくReact rendererです。Three.jsのscene/camera/material等の基礎理解が前提になり、v9はReact 19系と組み合わせる必要があります。
3ステップで試す
- 1
React Three Fiber 9.8.1を固定して導入する
一時npm projectへR3F、React 19、Three.jsを固定して導入します。
demo=$(mktemp -d "${TMPDIR:-/tmp}/r3f.XXXXXX") && cd "$demo" && npm init -y >/dev/null && npm install --save-exact @react-three/fiber@9.8.1 react@19.2.0 react-dom@19.2.0 three@0.180.0 - 2
package versionを確認する
review対象のrenderer versionが導入されていることを確認します。
test "$(node -e "console.log(JSON.parse(require('fs').readFileSync('node_modules/@react-three/fiber/package.json')).version)")" = '9.8.1' - 3
renderer APIのexportを確認する
browser/WebGL contextを起動せず、Canvas・createRoot・useFrameの主要renderer APIを確認します。実描画はbrowser/GPU環境で別途検証してください。
test "$(node --input-type=module -e "import * as R from '@react-three/fiber'; console.log(['Canvas','createRoot','useFrame'].every(k=>k in R))")" = 'true'
成長
成長の推移 · 直近30日
32,733 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 36
- Open PR
- 3
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- react
- threejs
- fiber
- renderer
- 3d
- animation
- Stars
- 32,733
- Forks
- 2,005
- Watchers
- 215
- Open Issues
- 13
- Contributors
- 226
- 所有者種別
- Organization
- 主要言語
- TypeScript
- ライセンス
- MIT
- リポジトリ最終更新
- 2026/10/02
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- visx21,075 Stars
共通タグ 3件 · 同じ言語
D3の計算力とReact component modelを組み合わせてcustom chartを構築するlow-level visualization library
TypeScript - React Router56,590 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
URL・nested route・navigation・data flowをReact applicationへ組み込むmulti-strategy router
TypeScript - styled-components41,099 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
template literalでscoped CSS・theme・SSRをReact componentへ統合するCSS-in-JS library
TypeScript - Floating UI32,756 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
tooltip・popover・dropdownのanchor positioningとaccessible interactionを組み立てるlow-level UI library
TypeScript - Headless UI28,767 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
styleを持たずaccessibilityとinteraction behaviorを提供するReact/Vue向けUI component library
TypeScript - Babylon.js26,126 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
WebGL・WebGPUを使う3D scene、game、XR体験をTypeScript/JavaScriptからbrowserへ描画する
TypeScript
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。