混合纯反应的组分与嗡接下来

问题描述:

假设我有一些通过图书馆获取纯react.js组件:混合纯反应的组分与嗡接下来

var MyPureJavaScriptComponent = React.createClass({ 
    render: function() { 
    //... 
    } 
}); 

但我希望用om.next,其中反应的组分都通过defui宏观构造:

(defui MyComponent 
    Object 
    (render [this] 
      (div nil "Hello, world!"))) 

问题:什么是让MyPureJavaScriptComponent进入om.next的最佳方式?如果它可以被封装到defui的自己的调用中,那么MyPureJavaScriptComponent与其他om.next组件相同,这将是非常好的(至少在美学上)。这是否可能(并且它会是最好的方法)?

你可以返回任何阵营组件呈现到您的Om.next树,这里是一个例子:

(defui MyComponent 
    Object 
    (render [this] 
    (dom/div nil 
     (dom/h1 nil "Hello") 
     (js/React.createElement js/MyPureJavaScriptComponent #js {:prop "value"})))) 
+0

是不是有一个更好的地方来创建它比渲染功能,例如,当它被安装?但这种方式很简单,并且由于React不做任何不必要的实际渲染而得到了帮助。 –

+2

@ChrisMurphy这是推荐的方法,正常的React JSX语法只是将它抽象出来,但是检查源代码,你会在整个地方看到'React.createElement',从React主页检查这个例子(检查Compiled JS标签)https://www.dropbox.com/s/9asp89ebb201el8/Screenshot%202016-02-28%2020.47.07.png?dl=0 –