基于React的应用程序中基于Om的应用程序

时间:2015-08-04 20:14:12

标签: javascript reactjs

我有一个用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的页面中是否可以?

1 个答案:

答案 0 :(得分:0)

由于您永远不会调用om/root,因此您的组件不应使用提供的任何独特功能:检测,监听交易等。

在这种情况下,你已经在cljs + om中有效地编写了一个React组件,事情应该没有问题。

如果你想确定,发布一个带有组件的要点,我们将检查它是否采用任何提供的功能,但React不提供。