This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-03-14
Channels
- # arachne (5)
- # architecture (2)
- # bangalore-clj (7)
- # beginners (96)
- # boot (34)
- # braveandtrue (1)
- # cider (12)
- # cljs-dev (38)
- # cljsrn (59)
- # clojure (326)
- # clojure-dev (35)
- # clojure-greece (1)
- # clojure-italy (6)
- # clojure-russia (47)
- # clojure-spec (16)
- # clojure-uk (25)
- # clojurescript (136)
- # core-async (18)
- # cursive (18)
- # datascript (2)
- # datomic (28)
- # dirac (6)
- # emacs (4)
- # garden (3)
- # hoplon (28)
- # instaparse (1)
- # jobs (4)
- # juxt (1)
- # lein-figwheel (10)
- # liberator (1)
- # mount (3)
- # off-topic (39)
- # om (16)
- # om-next (1)
- # onyx (15)
- # pedestal (9)
- # proton (1)
- # random (1)
- # re-frame (48)
- # reagent (8)
- # ring-swagger (4)
- # rum (3)
- # specter (5)
- # sql (3)
- # unrepl (273)
- # untangled (27)
- # vim (4)
- # yada (7)
https://github.com/airbnb/native-navigation Hooray, one more navigation library, the one that was missing!
just wanted to post the same 😄
I’m seeing some very weird behavior trying to pass ClojureScript datastructure (a vector) in...
what I did with ListView is - pass a list of ids (+ hashes maybe) as data source, and get full cljs object in render-row component
the new VirtualizedList seems much nicer, I gotta say (after I got past the lack of documentation)
@raspasov what is this for?
(def ^js/window.ReactNative ReactNative js/window.ReactNative)
the only place where I’ve seen it mess up is inside a core.async (go (loop []…)) - but I’m pretty sure that’s core.async’s fault because it probably drops metadata
one peeve I have is when a JS library or React Native itself hands me back some JS object… 😁 😑
and you have no choice except to manually pull out your nice immutable data out of the object nightmare 😂
you give virtualized-list a clj map/vector, and it passes js item to render-row component/fn?
this example expects a vector, and in general it makes sense I think, since it should be something sequentially seqable (or I guess it can be an ordered map?)
the most expensive part in (clj->js …) I believe is when you have a lot of data in there
so I (dissoc …) :data from the immutable props, turn the result into a js-object, and then “manually” aset data back into it
6 months ago when I started react native + clojurescript I didn’t realize/know how expensive the clj->js operation and back is… and I was doing it all the time but it really can hurt performance, esp on older devices
@misha what is exactly the difference? I never quite understood how is (aset …) not good? (I think I read something by David Nolen or someone else a while ago)
oh wow, been using aget
for ages for js object access, never knew that it’s wrong
going through porting my old ListViews to VirtualizedList, one thing that’s explicitly WIP...
so if you need this… you might want to hold off on VirtualizedList… even though I just tried hacking the source and it *does* seem to work
scrollEventThrottle: 1 <<— seems to work, even on Android, but use with caution, I guess 🙂
@artemyarulin yea I still don’t quite understand how exactly it’s wrong but I’m going to switch to use goog.object, etc etc 🙂
yeah, weird