繁体   English   中英

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

[英]Om based application inside React based application

我有一个用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>

这样可以在基于React的页面中包含ClojureScript组件吗?

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

在这种情况下,您已经用cljs + om有效地编写了一个React组件,并且一切正常。

如果您想确保,请在组件上发布要点,我们将检查它是否假定有任何om提供的功能,而React不提供这些功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM