This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-08-01
Channels
- # admin-announcements (8)
- # arachne (11)
- # beginners (17)
- # boot (64)
- # cider (26)
- # cljs-dev (7)
- # cljsrn (1)
- # clojure (115)
- # clojure-belgium (2)
- # clojure-dusseldorf (15)
- # clojure-poland (15)
- # clojure-russia (62)
- # clojure-spec (86)
- # clojure-uk (208)
- # clojurescript (36)
- # cursive (4)
- # datavis (11)
- # datomic (44)
- # editors (9)
- # hoplon (21)
- # jobs (4)
- # mount (21)
- # off-topic (3)
- # om (113)
- # onyx (65)
- # parinfer (2)
- # perun (3)
- # proton (6)
- # re-frame (29)
- # reagent (20)
- # yada (3)
@rodeorockstar: I've been dwelling on how I can catch that bug (programming error), but no inspiration so far.
debug middleware which checks if the keys on a key match the root keys?
Schema checking more generally would catch it too
Death to middleware. Long live interceptors.
But you are right about schema checking. That finds problems instantly.
Although ... the trick is still be to explain the problem. Forgetting to put -fx
on the registration fn is a bit subtle.
@mikethompson:
thanks a ton for a thorough answer!
Re 2: I mean "join" in a general sense, as in "store "objects" in a map by id and use IDs if a particular order and/or relations are needed". So in that case I store IDs in the order in which I received package
s from the server and have a map of all packages in one place so I can "change" them in only one place if needed. Is it an anti-pattern? I've saw you use TreeMap in todomvc example to preserve ordering. Do you think this is the better way? How do you usually handle links (like if package
can be "inside" some other entity)?
Re 3: So your re-frame db structure reflects the form of the data you receive from the server? Do you requery data and recreate large part of the state if you have the same "object" in several places? Makes sense; maybe I overengineer things.
Again, thanks a lot for your insight and the project itself. Definitely one of the best experiences I had with opensource projects :)
Interesting points about middleware, I am actually just now setting up unit tests for re-frame actions and saw the recommendation to use middleware for schema checking the app-db after state altering dispatches i.e. https://github.com/Day8/re-frame/wiki/Testing#event-handlers---part-2
@mattsfrey keep going on that path described. In the next version, instead of middleware
there will be interceptors
. But I'm able to do that in a backwards compatible way. So instead of an after
middleware, there will be an after
interceptor .
Does this sort of thing help? https://github.com/reagent-project/reagent-cookbook/tree/master/recipes/ReactCSSTransitionGroup
well, actually my only hurdle is the dependency itself since re-frame includes re-agent which includes react
I believe so
lein deps tree
will help
or boot show -d
(so I'm told)
Yeah, that one 🙂
Hmm. Sorry, I haven't had to do this, so I'm not much help
Oh, no worries. I'm just trying to straighten out the other dependencies. Seems everything wants different versions of each other.
@johanatan: publish here for posterity
(defproject your-project "0.1.0-SNAPSHOT"
:dependencies [[org.clojure/clojure "1.8.0"]
[org.clojure/clojurescript "1.8.51"]
[reagent "0.6.0-rc" :exclusions [cljsjs/react]]
[cljsjs/react-with-addons "15.3.0-0"]
[re-frame "0.7.0" :exclusions [cljsjs/react]]
[re-com "0.8.3"]
[cljsjs/fixed-data-table "0.6.0-1" :exclusions [cljsjs/react]]]
...)
I included fixed-data-table
because it needed the exclusions too.