我有一个用ClojureScript编写的视频组件(基于Om)和一个用JavaScript编写的页面(基于React),我想在该页面中使用该视频组件。它们不相互交互,视频组件完全自治。我提出了以下代码,它有效,但我不确定在React应用程序中使用ClojureScript应用程序是否可以:
class Page extends React.Component {
render: () => {
return <div><div id="video"></div><Comments/></div>;
}
}
React.render(<Page/>, document.getElementById('page'), function() {
// video is an instance of ClojureScript application
video.client.render({id: 'abc'});// calls React.render(<VideoPlayer/>, document.getElementById('video'));
});
它产生以下DOM:
<div id="page">
<div>
<div id="video">
<CljsVideoPlayer/>
</div>
<Comments/>
</div>
</div>
将ClojureScript组件包含在像这样的基于React的页面中是否可以?
答案 0 :(得分:0)
由于您永远不会调用om/root
,因此您的组件不应使用提供的任何独特功能:检测,监听交易等。
在这种情况下,你已经在cljs + om中有效地编写了一个React组件,事情应该没有问题。
如果你想确定,发布一个带有组件的要点,我们将检查它是否采用任何提供的功能,但React不提供。