This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-07-09
Channels
- # admin-announcements (1)
- # beginners (1)
- # boot (16)
- # capetown (2)
- # cider (1)
- # clara (1)
- # cljs-dev (2)
- # cljsrn (2)
- # clojure-brasil (3)
- # clojure-czech (2)
- # clojure-greece (4)
- # clojure-quebec (2)
- # clojure-russia (3)
- # clojure-spec (8)
- # clojure-sweden (1)
- # clojure-uk (1)
- # clojurescript (8)
- # datomic (12)
- # editors (12)
- # events (1)
- # hoplon (11)
- # off-topic (2)
- # om (56)
- # proton (2)
- # reagent (2)
- # spacemacs (1)
Is there a way to specify reaction dependencies explicitly with reagent? Right now, I’m having to pass ratoms as arguments:
(defn groups-individual-group-info [groups-individual-group-id groups-info-ds]
(let [result (first (filter #(= (:db/id %) @groups-individual-group-id) @groups-info-ds))]
result))
(register-sub
:groups-individual-group-info
(let [groups-individual-group-id (subscribe [:groups-individual-group-id])
groups-info-ds (subscribe [:groups-info-ds])]
(fn [_ _] (r/track groups-individual-group-info groups-individual-group-id groups-info-ds))))
But I’d much rather pass values which can be checked with clojure.spec
. Any advice on how this can be achieved?If you are using re-frame, and it looks like you are, don't use r/track
, use reaction
as pre the docs (your code won't work with v0.8.0 of re-frame if you use r/track
)
In effect, shouldn't it be:
(register-sub
:groups-individual-group-info
(let [groups-individual-group-id (subscribe [:groups-individual-group-id])
groups-info-ds (subscribe [:groups-info-ds])]
(reaction (groups-individual-group-info @groups-individual-group-id @groups-info-ds)))))