jwe*_*nga 6 clojurescript re-frame
我重新构建 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]])
Run Code Online (Sandbox Code Playgroud)
我的 events.cljs 有:
(re-frame/reg-event-db
::update-data
(fn [db [_ {:keys [data errors] :as payload}]]
(-> db
(assoc :errors errors)
(assoc :data data))))
Run Code Online (Sandbox Code Playgroud)
但我不断收到此错误:
core.cljs:3919 re-frame: no :event handler registers for: undefined
你应该使用:events/update-data在views.cljs. 指::的是当前命名空间 ( :views/update-data),并且该事件处理程序不是在那里定义的,而是在events命名空间中定义的。
另请注意,您可以使用:
(-> db
(assoc :errors errors
:data data)))
Run Code Online (Sandbox Code Playgroud)
给你省一个assoc。
| 归档时间: |
|
| 查看次数: |
1041 次 |
| 最近记录: |