# Advantages and disadvantages of react-three-fiber

**URL:** <https://discourse.threejs.org/t/advantages-and-disadvantages-of-react-three-fiber/49160>\
**Category:** Questions\
**Tags:** react-three-fiber\
**Created:** [March 16, 2023, 8:54am UTC](https://discourse.threejs.org/t/advantages-and-disadvantages-of-react-three-fiber/49160 "2023-03-16T08:54:19Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![battleoftwok](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/battleoftwok/32/34483_2.png) [@battleoftwok](https://discourse.threejs.org/u/battleoftwok)\
**Post date:** [March 16, 2023, 8:54am UTC](https://discourse.threejs.org/t/advantages-and-disadvantages-of-react-three-fiber/49160/1 "2023-03-16T08:54:19Z")

</div>

Is there a fundamental difference between using `react-three-fiber` and `three-js + react` separately?  
what are the advantages and disadvantages of using one option over the other?

---

<div class="post-metadata">

**Author:** ![drcmda](https://avatars.discourse-cdn.com/v4/letter/d/91b2a8/32.png) [@drcmda](https://discourse.threejs.org/u/drcmda)\
**Post date:** [March 17, 2023, 10:34am UTC](https://discourse.threejs.org/t/advantages-and-disadvantages-of-react-three-fiber/49160/2 "2023-03-17T10:34:13Z")

</div>

the docs go into this, specifically the first segments [GitHub - pmndrs/react-three-fiber: 🇨🇭 A React renderer for Three.js](https://github.com/pmndrs/react-three-fiber)

check out [the examples](https://docs.pmnd.rs/react-three-fiber/getting-started/examples) to get some idea where the potential is.

if you need a quick overview,

- less code, focus more on composition
- performant by default
- memory efficient, auto-disposes, re-use and caching everywhere
- pointer events inbuilt, bubbling, stoppropagation and capture
- the only eco system that threejs has (other than examples, gists, snippets and dispersed libraries)

using react with three separately makes little sense, you’d pit a declarative world against a imperative. you loose all integration, state, context, suspense, the eco system. it would be similar to constructing the UI with querySelectors and appendChild.

ps, here’s a [technical breakdown of how it works](https://codyb.co/articles/a-technical-breakdown-of-react-three-fiber), fiber is a renderer like react-dom, it is not a wrapper or binding.
