3d.io将来是否支持React组件?现在,我需要找到使用的dom元素" ref"从组件中检索io3d对象。
render () {
// this.props.elements is the state from getAframeElements
if (this.props.sceneId !== '') {
this.props.elements.forEach( (item) => {
this.refs.scene.appendChild(item)
})
}
return (
<a-entity ref="scene">
</a-entity>
)
}
&#13;
您是否有任何指南如何在React项目中使用3d.io?或者我需要在React的componentDidMount事件之后使用document.querySelector。
答案 0 :(得分:1)
这里有一些事情:
大多数3dio-js方法返回可以与任何javascript库一起使用的普通js对象和数组。
以下是如何在反应组件中使用io3d.furniture.search
:https://jsfiddle.net/wo2xpb9g/
有一个框架反应项目,可以使框架和反应更容易组合https://github.com/ngokevin/aframe-react
对于更新版本的反应,似乎可以像你一样直接组合一个框架并做出反应,这里有一个例子:https://codepen.io/cassiecodes/pen/akXWjo?editors=1010
io3d.scene.getAframeElements
with react getAframeElements
是一种将sceneStructure
转换为实际的一帧DOM节点的便捷方法。在反应项目中,真正的DOM节点通过自身反应生成。
有两种可能性,
而不是getAframeElements
,将sceneStructure从io3d.scene.getStructure
转换为自己的反应虚拟DOM。希望很快就能发布一个社区图书馆。
保持a-frame DOM与反应分开。这种方法有时用于将反应与诸如D3之类的库结合起来,后者直接操纵DOM ......这种方法在这里用例子进行讨论:https://medium.com/@Elijah_Meeks/interactive-applications-with-react-d3-f76f7b3ebc71