我正在尝试在试剂中呈现 React Native ListView。
我有以下片段:
(def data-source
(React.ListView.DataSource. #js{:rowHasChanged (fn [a b] false)}))
(defn render-row []
[ui/view])
(def rows
(clj->js ["whoa", "hey"]))
(defn main-scene []
(fn []
[ui/list-view {:render-row render-row
:data-source (.cloneWithRows data-source rows)}]))
以上导致“道具类型失败:dataSource
未指定所需道具ListView
。检查渲染方法app.ios.ui.main_scene
。” 随后是“无法读取未定义的属性'rowIdentities'”,因为数据源在ListView的渲染方法中未定义。
我的第一个猜测是在试剂/打嗝或其他任何内部的某处对“数据”属性进行了一些特殊处理,但我找不到任何线索来解释为什么该属性没有正确传播。
而且,是的,(.cloneWithRows data-source rows)
实际上返回了一个有效的 ListViewDataSource 对象实例。
然后,如果我通过了:data-source
,:dataSource
我得到的只是一个令人费解的“StaticRenderer.render():必须返回一个有效的 ReactComponent。您可能返回了未定义的数组或其他一些无效对象。”
我正在使用react-native 0.18.1
和。我已经检查过这个并得到了同样的错误。reagent 0.5.1
re-frame 0.6.0
reagent 0.6.0-alpha
re-frame 0.7.0-alpha
我已经挖掘了几个小时,我想我需要一些帮助。尝试解决此问题的任何提示/想法,要查看的代码中的任何引用?提前致谢。