This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-08-29
Channels
- # admin-announcements (2)
- # beginners (20)
- # boot (139)
- # cider (6)
- # clara (1)
- # cljs-dev (7)
- # cljsrn (4)
- # clojure (160)
- # clojure-berlin (1)
- # clojure-canada (6)
- # clojure-gamedev (1)
- # clojure-japan (7)
- # clojure-russia (14)
- # clojure-spec (90)
- # clojure-uk (10)
- # clojurescript (73)
- # clojutre (1)
- # conf-proposals (8)
- # crypto (67)
- # cursive (9)
- # datomic (6)
- # editors-rus (1)
- # events (1)
- # figwheel (6)
- # funcool (2)
- # hoplon (19)
- # instaparse (37)
- # kekkonen (4)
- # lein-figwheel (2)
- # leiningen (5)
- # luminus (1)
- # off-topic (1)
- # om (10)
- # onyx (60)
- # protorepl (2)
- # re-frame (81)
- # reagent (10)
- # ring-swagger (15)
- # rum (6)
- # specter (17)
- # test-check (10)
- # uncomplicate (31)
- # untangled (12)
- # yada (6)
Hi all, I'm curious about the performance of rum with datascript, for large and complex UIs. Any small change in state will cause the whole UI to rerender, yes? Is this a relevant concern? If so, what strategies can be employed to make things more efficient? Im aware of the static mixin, or implementing shouldComponentUpdate, but the former might be limiting, and the latter seems dangerous. Are there any methods one can use?
@levitanong Great question. I don't rerender the entire UI whenever the db changes since that's be wasteful (obviously). So I only render the parts that need re-rendering.
Can be done with the listen-...
mixin that you can copy from some of the official rum examples.
@rauh Is this the mixin you are referring to? https://github.com/tonsky/datascript-menu/blob/master/src/datascript_menu.cljs#L57
I consulted with a colleague of mine, and he’s seen it before. It’s still prone to false positives, unfortunately. Better than rendering everything all the time, though! Beggars can’t be choosers 😛