This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-09-28
Channels
- # 100-days-of-code (10)
- # announcements (2)
- # architecture (16)
- # beginners (51)
- # bitcoin (3)
- # calva (1)
- # cider (6)
- # cljdoc (8)
- # cljs-dev (14)
- # cljsrn (4)
- # clojure (59)
- # clojure-italy (26)
- # clojure-losangeles (1)
- # clojure-nl (13)
- # clojure-spec (54)
- # clojure-uk (81)
- # clojurebridge (4)
- # clojurescript (20)
- # core-async (16)
- # cursive (39)
- # datomic (27)
- # emacs (12)
- # events (1)
- # figwheel-main (20)
- # fulcro (35)
- # funcool (1)
- # graphql (9)
- # hyperfiddle (10)
- # jobs (1)
- # jobs-discuss (7)
- # keechma (10)
- # lumo (22)
- # nrepl (18)
- # off-topic (28)
- # onyx (3)
- # pedestal (4)
- # re-frame (8)
- # reagent (8)
- # ring (4)
- # rum (3)
- # shadow-cljs (29)
- # testing (5)
I was using keechma
with figwheel
previously, and it worked. But I am using keechma
with shadow-cljs
for the first time, and although (restart-app!)
in the following code block was called, the changes in ui isn't being re-rendered. The same code works under figwheel
. If I use just a basic reagent
component in shadow-cljs
, it gets re-rendered. tl;dr: reagent
+ lein
/ shadow-cljs
works; figwheel
+ keechma
works; shadow-cljs
+ keechma
doesn't work
(defn start-app! []
(reset! running-app (app-state/start! app/definition)))
(defn restart-app! []
(let [current @running-app]
(if current
(app-state/stop! current start-app!)
(start-app!))))
@priornix check out https://github.com/mjmeintjes/shadow-cljs-keechma-node?files=1
I see there's some reloading related code in shadow-cljs.edn file
Anyway, I found a clue, the app is only updated when I touched the app definition
file
That means that while the component file is being updated, the app definition itself wasn't reloaded.
I'll have a look at the sample code tomorrow, but at first glance doesn't seem to be doing anything different.
:before-load
maps to an empty function, :after-load
restarts the app-state as the code above.