如何解决Clojure:#object [map]不是函数,但是其类型是函数
所以我试图在clojure中实现react最终形式的array-field。我从用JavaScript编写的文档中的example中查找。我几乎明白了,但是当我尝试使用fields.map时,它说map不是函数,即使其类型是函数也是如此。
这是我的Clojure代码。
(defn field-array [props]
(fn [{:keys [name validate type]}]
[:> FieldArray {:name name}
(fn [props]
(let [{:keys [fields]} (js->clj props :keywordize-keys true)]
(print (:map fields))
(.map fields (fn [k v] (print k)))))]))
这就是错误所在
Uncaught TypeError: fields.map is not a function
当我打印(:地图字段)
时#object[map]
解决方法
我设法找到了自己的问题的答案。似乎由于某种原因我无法通过clojurescript调用javascript函数。因此,与其像这样将javascript转换为clojure一样。
let [{:keys [fields]} (js->clj props :keywordize-keys true)]
我必须通过这样传递的道具直接调用javascript函数
(.. props -fields -map)
希望它可以帮助像我一样在这个问题上苦苦挣扎的人。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。