React中3.Js场景中的观察特性

问题描述 投票:0回答:1

我已经按照here的样式将ThreeJs场景实现为React组件;但是,我在如何使用其父组件的状态正确更新场景时遇到了麻烦。在我的实现中,某些属性可由用户通过滑块,菜单等(它们是各自独立的React组件)来配置(对象的高度,颜色等)。这些中的每一个都将其状态提升到“三场景”的父级组件。通常,我可以将这些作为道具传递回去,如果需要的话,该组件将重新渲染,但是在这种情况下,ThreeJs需要确定何时更新和渲染,因为DOM不变。

三个场景组件是否可以“观察”它的道具,然后在它们发生变化时处理对场景的更新。在传统的应用程序中,我将使用观察者模式,但不确定如何在此处实现。

javascript reactjs three.js
1个回答
0
投票

NativeJS本身要求您自己更新组件。您可以实现getter / setter或在useEffect挂钩中触发更新功能,如下所示

https://threejs.org/docs/#manual/en/introduction/How-to-update-things

而且您也可以尝试这个提供对ThreeJS组件状态变化反应的项目

https://github.com/react-spring/react-three-fiber

© www.soinside.com 2019 - 2024. All rights reserved.