# react-three-fiber **Repository Path**: mirrors/react-three-fiber ## Basic Information - **Project Name**: react-three-fiber - **Description**: react-three-fiber 是针对 Web 和 react-native 上的 threejs 的 React 渲染器 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: https://www.oschina.net/p/react-three-fiber - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 5 - **Created**: 2021-01-19 - **Last Updated**: 2025-10-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
react-three-fiber is a React renderer for threejs.
Build your scene declaratively with re-usable, self-contained components that react to state, are readily interactive and can participate in React's ecosystem.
```bash
npm install three @types/three @react-three/fiber
```
> [!WARNING]
> Three-fiber is a React renderer, it must pair with a major version of React, just like react-dom, react-native, etc. @react-three/fiber@8 pairs with react@18, @react-three/fiber@9 pairs with react@19.
---
#### Does it have limitations?
None. Everything that works in Threejs will work here without exception.
#### Is it slower than plain Threejs?
No. There is no overhead. Components render outside of React. It outperforms Threejs in scale due to React's scheduling abilities.
#### Can it keep up with frequent feature updates to Threejs?
Yes. It merely expresses Threejs in JSX, `| Let's make a re-usable component that has its own state, reacts to user-input and participates in the render-loop. (live demo). |
|
# Ecosystem
There is a vibrant and extensive eco system around three-fiber, full of libraries, helpers and abstractions.
- [`@react-three/drei`](https://github.com/pmndrs/drei) – useful helpers, this is an eco system in itself
- [`@react-three/gltfjsx`](https://github.com/pmndrs/gltfjsx) – turns GLTFs into JSX components
- [`@react-three/postprocessing`](https://github.com/pmndrs/react-postprocessing) – post-processing effects
- [`@react-three/uikit`](https://github.com/pmndrs/uikit) – WebGL rendered UI components for three-fiber
- [`@react-three/test-renderer`](https://github.com/pmndrs/react-three-fiber/tree/master/packages/test-renderer) – for unit tests in node
- [`@react-three/offscreen`](https://github.com/pmndrs/react-three-offscreen) – offscreen/worker canvas for react-three-fiber
- [`@react-three/flex`](https://github.com/pmndrs/react-three-flex) – flexbox for react-three-fiber
- [`@react-three/xr`](https://github.com/pmndrs/react-xr) – VR/AR controllers and events
- [`@react-three/csg`](https://github.com/pmndrs/react-three-csg) – constructive solid geometry
- [`@react-three/rapier`](https://github.com/pmndrs/react-three-rapier) – 3D physics using Rapier
- [`@react-three/cannon`](https://github.com/pmndrs/use-cannon) – 3D physics using Cannon
- [`@react-three/p2`](https://github.com/pmndrs/use-p2) – 2D physics using P2
- [`@react-three/a11y`](https://github.com/pmndrs/react-three-a11y) – real a11y for your scene
- [`@react-three/gpu-pathtracer`](https://github.com/pmndrs/react-three-gpu-pathtracer) – realistic path tracing
- [`create-r3f-app next`](https://github.com/pmndrs/react-three-next) – nextjs starter
- [`lamina`](https://github.com/pmndrs/lamina) – layer based shader materials
- [`zustand`](https://github.com/pmndrs/zustand) – flux based state management
- [`jotai`](https://github.com/pmndrs/jotai) – atoms based state management
- [`valtio`](https://github.com/pmndrs/valtio) – proxy based state management
- [`react-spring`](https://github.com/pmndrs/react-spring) – a spring-physics-based animation library
- [`framer-motion-3d`](https://www.framer.com/docs/three-introduction/) – framer motion, a popular animation library
- [`use-gesture`](https://github.com/pmndrs/react-use-gesture) – mouse/touch gestures
- [`leva`](https://github.com/pmndrs/leva) – create GUI controls in seconds
- [`maath`](https://github.com/pmndrs/maath) – a kitchen sink for math helpers
- [`miniplex`](https://github.com/hmans/miniplex) – ECS (entity management system)
- [`composer-suite`](https://github.com/hmans/composer-suite) – composing shaders, particles, effects and game mechanics
- [`triplex`](https://triplex.dev/) – visual editor for react-three-fiber
- [`koestlich`](https://github.com/coconut-xr/koestlich) – UI component library for react-three-fiber
[Usage Trend of the @react-three Family](https://npm-compare.com/@react-three/a11y,@react-three/cannon,@react-three/csg,@react-three/drei,@react-three/flex,@react-three/gltfjsx,@react-three/gpu-pathtracer,@react-three/offscreen,@react-three/p2,@react-three/postprocessing,@react-three/rapier,@react-three/test-renderer,@react-three/uikit,@react-three/xr)
# Who is using Three-fiber
A small selection of companies and projects relying on three-fiber.
- [`vercel`](https://www.vercel.com) (design agency)
- [`basement`](https://basement.studio) (design agency)
- [`studio freight`](https://studiofreight.com) (design agency)
- [`14 islands`](https://www.14islands.com) (design agency)
- [`ueno`](https://dribbble.com/ueno) (design agency) — [video](https://twitter.com/0xca0a/status/1204373807408013312)
- [`flux.ai`](https://www.flux.ai) (PCB builder)
- [`colorful.app`](https://www.colorful.app) (modeller)
- [`bezi`](https://www.bezi.com) (modeller)
- [`readyplayer.me`](https://readyplayer.me) (avatar configurator)
- [`zillow`](https://www.zillow.com) (real estate)
- [`lumalabs.ai/genie`](https://lumalabs.ai/genie) (AI models)
- [`skybox.blockadelabs`](https://skybox.blockadelabs.com) (AI envmaps)
- [`3dconfig`](https://3dconfig.com) (floor planer)
- [`buerli.io`](https://buerli.io) (CAD)
- [`getencube`](https://www.getencube.com) (CAD)
- [`glowbuzzer`](https://www.glowbuzzer.com) (CAD) — [video](https://twitter.com/glowbuzzer/status/1678396014644940800)
- [`triplex`](https://triplex.dev) (editor) — [video](https://twitter.com/_douges/status/1708859381369221539)
- [`theatrejs`](https://www.theatrejs.com) (editor) — [video](https://twitter.com/0xca0a/status/1566838823170068480)
# How to contribute
If you like this project, please consider helping out. All contributions are welcome as well as donations to [Opencollective](https://opencollective.com/react-three-fiber), or in crypto `BTC: 36fuguTPxGCNnYZSRdgdh6Ea94brCAjMbH`, `ETH: 0x6E3f79Ea1d0dcedeb33D3fC6c34d2B1f156F2682`.
#### Backers
Thank you to all our backers! 🙏