Javascript Marzipano+ReactJS?

Javascript Marzipano+ReactJS?,javascript,reactjs,360-panorama,Javascript,Reactjs,360 Panorama,有人与ReactJS应用程序一起使用过吗 有人对如何做到这一点有什么想法吗 我的一个想法是可能将React虚拟dom的ref传递给Marzipano原始dom元素,但是我认为Marzipano可能会在该元素中添加和删除其他dom元素,因此我认为这可能与React对dom的管理冲突,并导致问题 另一个想法是在根ReactDOM元素之外的元素中渲染Marzipano,然后使用普通的old document.getElementById访问它,并在需要显示全景时使用CSS将Marzipano元素覆盖在

有人与ReactJS应用程序一起使用过吗

有人对如何做到这一点有什么想法吗

我的一个想法是可能将React虚拟dom的ref传递给Marzipano原始dom元素,但是我认为Marzipano可能会在该元素中添加和删除其他dom元素,因此我认为这可能与React对dom的管理冲突,并导致问题

另一个想法是在根ReactDOM元素之外的元素中渲染Marzipano,然后使用普通的old document.getElementById访问它,并在需要显示全景时使用CSS将Marzipano元素覆盖在React应用程序上方

这两种方法都很老套,也很不理想,所以如果有人有更好的想法,请发帖


请注意,这是一个个人端项目,因此更多的黑客想法完全可以

可以将React与直接操作DOM的库一起使用,尽管有些笨拙。您的第一个想法是正确的,正如与JQuery集成时所解释的:

[五十] et为一个通用jQuery插件绘制了一个包装器

我们将向根DOM元素附加一个ref。在…内 componentDidMount,我们将获得它的引用,以便将其传递给 jQuery插件

为了防止React在装载后接触DOM,我们将返回 render方法中的空值。该元素没有 属性或子项,因此React没有理由更新它,只保留 jQuery插件可以自由管理DOM的该部分:

类SomePlugin扩展了React.Component{ 组件安装{ this.$el=$this.el; 这个.$el.somePlugin; } 组件将卸载{ 这个.$el.somePlugin'destroy'; } 渲染{ 返回this.el=el}/>; }
}元素没有属性或子元素,因此React没有理由更新它,因为它是我谜题中缺失的部分。非常感谢!