re-frame: обработчик событий не зарегистрирован - PullRequest
0 голосов
/ 18 июня 2019

Мой 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]])

Мой 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 ре-кадр: нет: обработчик события зарегистрирован для: undefined

Ответы [ 2 ]

0 голосов
/ 20 июня 2019

Решение состоит в том, чтобы включить nil для переменных запроса

(re-frame/dispatch
 [::re-graph/query
  "{launches {id, mission_name}}"
  nil
  [:add-launches]])
0 голосов
/ 19 июня 2019

Вы должны использовать :events/update-data в views.cljs.:: относится к текущему пространству имен (:views/update-data), и этот обработчик событий там не определен, но в пространстве имен events.

Также обратите внимание, что вы можете использовать:

(-> db
   (assoc :errors errors
          :data data)))

спасает вас assoc.

...