TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

React Three Ecosystem

124 pointsby bpierre10 days ago

10 comments

hombre_fatal10 days ago
React&#x27;s threejs&#x2F;pixijs bindings are a great example of what vdom diffing can let you do.<p>Since they bring their own reconcile(a, b, diff) function to React, these libs can turn:<p><pre><code> const world = new World() const player = new Player() world.add(player) &#x2F;&#x2F; somehow wire up the code to keep &#x2F;&#x2F; player.pos updated </code></pre> Into:<p><pre><code> const [x, setX] = useState(0) return &lt;World&gt; &lt;Player x={x} &#x2F;&gt; &lt;&#x2F;World&gt; </code></pre> In other words, you write declarative code, and it does the hard imperative work of adding&#x2F;removing&#x2F;disposing&#x2F;updating things for you.<p>Just like how it helps you sync your data model to underlying stateful DOM nodes; the idea can be applied on top of any stateful system.
评论 #43949053 未加载
评论 #43946823 未加载
评论 #43949266 未加载
评论 #43946733 未加载
评论 #43948838 未加载
评论 #43946320 未加载
评论 #43955495 未加载
tlarkworthy10 days ago
note three.js [1] has nothing to do with React out of the box though, this page highlights an atypical way of using three.js through a popular React binding.<p>[1] <a href="https:&#x2F;&#x2F;threejs.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;threejs.org&#x2F;</a>
评论 #43947228 未加载
评论 #43949497 未加载
评论 #43946553 未加载
nawgz10 days ago
Has ThreeJS updated to start using X3D (<a href="https:&#x2F;&#x2F;www.x3dom.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.x3dom.org&#x2F;</a>) yet?<p>Taking a quick look at [the docs](<a href="https:&#x2F;&#x2F;r3f.docs.pmnd.rs&#x2F;getting-started&#x2F;introduction" rel="nofollow">https:&#x2F;&#x2F;r3f.docs.pmnd.rs&#x2F;getting-started&#x2F;introduction</a>) linked above, I see the use of Canvas. Fair enough.<p>I start using X3D at work in order to enable some cool functionality showing steps to build an assembly in 3D, and it&#x27;s actually insane how high the performance is. It&#x27;s all HTML components, so I wrote a super thin React wrapper (essentially the scene needs to be manually loaded once, that&#x27;s about all) and have been cruising with that.<p>Effortless to fly, rotate, hide or highlight parts, decompose things into x3d assets, and so on.<p>It might have issues somewhere, I haven&#x27;t widely tested browser compat or anything, but it&#x27;s curious to me how little I see it versus how much I see ThreeJS when it seems that X3D is the more capable platform.
评论 #43950862 未加载
cyberax9 days ago
Another example of this is React-Native-Skia: <a href="https:&#x2F;&#x2F;shopify.github.io&#x2F;react-native-skia&#x2F;docs&#x2F;getting-started&#x2F;hello-world" rel="nofollow">https:&#x2F;&#x2F;shopify.github.io&#x2F;react-native-skia&#x2F;docs&#x2F;getting-sta...</a><p>It uses a virtual DOM to diff the desired state and the current one: <a href="https:&#x2F;&#x2F;shopify.github.io&#x2F;react-native-skia&#x2F;docs&#x2F;canvas&#x2F;contexts" rel="nofollow">https:&#x2F;&#x2F;shopify.github.io&#x2F;react-native-skia&#x2F;docs&#x2F;canvas&#x2F;cont...</a><p>If you&#x27;re interested how it&#x27;s implemented, that&#x27;s the source code: <a href="https:&#x2F;&#x2F;github.com&#x2F;Shopify&#x2F;react-native-skia&#x2F;blob&#x2F;main&#x2F;packages&#x2F;skia&#x2F;src&#x2F;sksg&#x2F;Reconciler.ts">https:&#x2F;&#x2F;github.com&#x2F;Shopify&#x2F;react-native-skia&#x2F;blob&#x2F;main&#x2F;packa...</a>
talkingtab10 days ago
When I was new to the integration of threejs and react I found these examples to be just amazing.<p><a href="https:&#x2F;&#x2F;r3f.docs.pmnd.rs&#x2F;getting-started&#x2F;examples" rel="nofollow">https:&#x2F;&#x2F;r3f.docs.pmnd.rs&#x2F;getting-started&#x2F;examples</a>
评论 #43946256 未加载
评论 #43949512 未加载
mawadev9 days ago
I tried to build a game with react expo and react three last year and it was painful to me. There were version mismatches and some features didn&#x27;t work if I combined them in some ways that I needed sooner or later when trying to finish a project. I believe it is correlated with the fact I tried this on mobile, but maybe someone else has made the same experience with it. At this point I start to evaluate technologies end to end to not be surprised when projects break at a certain level of maturity or in size when they get close to release in terms of feature completeness.
webprofusion9 days ago
Cool but the docs links should take you to the docs, not the github source of the docs. Expected a demo link of each thing.
NetOpWibby9 days ago
Is there a Svelte equivalent?<p>I found Threlte[1] recently and enjoy not having to write low-level Three.js code to make things happen.<p>---<p>[1]: <a href="https:&#x2F;&#x2F;threlte.xyz" rel="nofollow">https:&#x2F;&#x2F;threlte.xyz</a>
zubairq9 days ago
How does this compare to <a href="https:&#x2F;&#x2F;aframe.io" rel="nofollow">https:&#x2F;&#x2F;aframe.io</a> ?
gitroom9 days ago
been there - love how clean react-three looks at first but man, once you hit real perf walls, its like, why am i even using this lol. you think the push for these declarative libs is just for quicker onboarding or something deeper?