clojurescript - Clojure:#object[map] 不是函数,但它的类型是函数
问题描述
所以我试图在clojure中实现反应最终形式的数组字段。我从用javascript编写的文档中查找示例。我几乎明白了,但是当我尝试使用 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)
希望它能帮助像我这样在这个问题上苦苦挣扎的人。
推荐阅读
- c++ - decltype(fun()) 用于 consteval 方法
- python - sympy:如何将 sympy.sympify 用于两个变量?
- python - 有什么方法可以加快客户端和服务器之间传输单个图像的时间吗?
- c# - 生成具有多个中心点的径向渐变
- sql-server - 使用 DBATOOLS 更新 SQL Server 中的表
- selenium - 无法打开与“会话”消息总线的连接:无法在没有 $DISPLAY 的 X11 的情况下自动启动 dbus-daemon
- xml - XMLStream Reader Scala - END_DOCUMENT 的正确句柄
- amazon-web-services - Amazon EC2 中子域的 HTTPS 设置
- python - 将 json 数据集翻译成不同的自然语言
- vim - 如何设置 Nord VIM 配色方案?