请考虑以下代码片段:
(fn [data owner]
(reify
om/IRender
(render [_]
(dom/p nil (:text data)))))
问题:是" Om组件"整个片段,还是只是函数的(reify ...)
表达式的返回值?
答案 0 :(得分:2)
通常,它们都被称为"组件"。 reify
的结果是" object-y"事情,所以在某种意义上它应该被称为组件,但功能是被命名的东西,所以它通常值得讨论。
重要的是, 这些都不是React组件。 Om为您创建和管理React组件。它在owner
可用。
Om Next删除了这个间接级别,这有点使术语含糊不清:
(defui HelloWorld
Object
(render [this]
(dom/div nil "Hello, world!")))
(def hello (om/factory HelloWorld))
在这个Om Next代码中,HelloWorld
是一个实际的React组件类,它的实例(使用函数hello
生成)是实际的React组件对象。