我的新框架views.cljs有:
(re-frame/dispatch [::re-graph/init
{:http-url "https://api.spacex.land/graphql"
:ws-url nil
:http-parameters {:with-credentials? false}}])
(re-frame/dispatch [::re-graph/query
"{ launches { id, mission_name } }" ;; your graphql query
[::update-data]])我的events.cljs有:
(re-frame/reg-event-db
::update-data
(fn [db [_ {:keys [data errors] :as payload}]]
(-> db
(assoc :errors errors)
(assoc :data data))))但是我不断地发现这个错误:
core.cljs:3919重新框架:否:注册的事件处理程序:未定义
发布于 2019-06-20 06:04:26
解决方案是包含查询变量的nil。
(re-frame/dispatch
[::re-graph/query
"{launches {id, mission_name}}"
nil
[:add-launches]])发布于 2019-06-19 13:36:18
您应该在:events/update-data中使用views.cljs。::引用当前命名空间(:views/update-data),该事件处理程序不在那里定义,而是在events命名空间中定义。
还请注意,您可以使用:
(-> db
(assoc :errors errors
:data data)))为您节省了一个assoc。
https://stackoverflow.com/questions/56642152
复制相似问题