This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-03-01
Channels
- # bangalore-clj (1)
- # beginners (16)
- # bigdata (1)
- # boot (16)
- # cljs-dev (79)
- # cljsjs (37)
- # cljsrn (62)
- # clojars (1)
- # clojure (260)
- # clojure-austin (3)
- # clojure-dev (3)
- # clojure-dusseldorf (3)
- # clojure-italy (1)
- # clojure-russia (32)
- # clojure-serbia (2)
- # clojure-spec (8)
- # clojure-uk (146)
- # clojure-ukraine (16)
- # clojurescript (66)
- # cursive (27)
- # datomic (57)
- # dirac (124)
- # emacs (10)
- # hoplon (12)
- # juxt (6)
- # keechma (6)
- # lein-figwheel (18)
- # leiningen (6)
- # lumo (51)
- # off-topic (1)
- # om (66)
- # onyx (41)
- # perun (1)
- # play-clj (1)
- # protorepl (9)
- # re-frame (20)
- # reagent (11)
- # ring (4)
- # ring-swagger (10)
- # rum (22)
- # specter (8)
- # sql (2)
- # test-check (5)
- # untangled (27)
- # yada (29)
Has anyone written a CLJSRN compatibility library for react-navigation? I’m working on one now and just realized I might be reinventing the wheel.
Also, I’m shocked that there is finally a reasonable navigation library. 🙂
ah, just found re-navigate
. I should have scrolled up first before asking.
@seantempesta Couldn’t get the tabs to integrate with re-frame properly though, so there’s still some work to be done on that front.
@vikeri Yeah. Saw that. I'll work on it and will let you know if I find a solution.
@seantempesta Great! :thumbsup:
has anyone gotten react-navigation to work well with ClojureScript? I’m slightly skeptical to jump on yet another “navigation” bandwagon, esp. given the track record and ultimate destiny of all the previous navigation solutions around React/React Native in general
I guess I can expand my question to not only “can you get it to work” since the answer is almost always “yes”; the real question is: is the navigation abstraction presented by the latest navigation library/framework a good and ultimately flexible one so that it doesn’t paint you in a corner in a month, etc, etc
@raspasov react-navigation
is great, and much better for me then other navigators. I tried 3-4 navigators before
@raspasov I see your skepticism, and as I mentioned earlier I had some struggles with tabs, but other than that I’d say that this is the best navigation solution yet.
@seantempesta I'm create my own wrappers around react-navigation
too 🙂 Really I don't create a library, just wrap some methods that useful for me
@vikeri What a problem with tabs?)
@savelichalex When I read the tab state from re-frame the tabs flicker when I try to click on them. Using re-frame state for stack-navigation works well. But for now I’m letting the library handle the tab navigation and just attached a listener that mirrors it to my re-frame state. I’d prefer to manage the full state from re-frame though. Are you using re-frame or something else?
Yeah, but I don't keep navigation state in re-frame
I tried this before but now for me it's just simplier to call navigation transition directly 🙂
My wrappers are pretty simple https://github.com/savelichalex/Souptitle/blob/master/apps/mobile/src/souptitle_mobile/shared/navigation.cljs#L39-L69
@vikeri Are you have an example with nav state in re-frame?
@savelichalex and https://github.com/vikeri/re-navigate/blob/master/src/re_navigate/ios/core.cljs
And to push a route to the stack: https://github.com/vikeri/re-navigate/blob/master/src/re_navigate/events.cljs#L38-L50
oh, I got it. But I see you have problems with many navigators too. Last time I want to create navigation through state, but have problem, that each navigator have his own navigation object.
this is the way I use react-navigation: https://gist.github.com/mozinator/cb7076521f14cbbef861491fb74f92e2 its a total hack, but it works for me (tm)
mozinator: oh man, please change txt
to cljs
, it's hard to read 🙂
Anyway I'm also thought about keeping navigator in atom, for me this is not a hack )
ok, changed it
Good stuff, the reson I want to keep my nav in the state is because for example when we are debugging it’s quite elegant to just take a snapshot of the re-frame state and then import that somewhere else and see the app exactly as it was
vikeri: sounds reasonable :thinking_face:
I agree with you about that and in the future I would like to have this functionality
I gave up on react-navigation
and went back to react-native-router-flux
. I dont know that pushing for react-navigation
makes a whole lot of sense today
I used the standard Navigator and thought it worked well enough (https://facebook.github.io/react-native/docs/navigator.html)
what are the main contenders theses days? The names are so similar
@pesterhazy React Navigation is the latest solution that seems to be coming from fb internally, but of some reason it’s in an external project… They have based it on the experience of ex-navigation(or) and NavigationExperimental.
ok so there's: - Navigator (and its close cousin NavigatorIOS): included with RN, janky imperative interface - NavigationExperimental: also included in RN, more functional but still has "experimental" in it name - ex-navigator: provided by exponent, a wrapper around Navigator with a better interface - ex-navigation: also by exponent, a successor (?) of ex-navigator - wix/react-native-navigation: an independent "native" navigator, iOS only so far - react-navigation: separate npm dep, fancy web site, built by FB team, currently marked as unstable
am I missing anything?
I've moved the summary to a gist: https://gist.github.com/pesterhazy/311043ce27ed034f5906db40cde2a602
so it's not forgotten, feel free to suggest better characterizations etc
@pesterhazy And add deprecation flags to those that are deprecated
before using react-navigation I used ex-navigation, which is actually pretty good
yeah but which ones are deprecated really?
I'd love to add links to cljs wrappers
there's yours @vikeri
I didn’t see any updates, but there’s also https://github.com/aksonov/react-native-router-flux
@vikeri I've added your links
it's a really confusing field
who thought that react-navigation
would be a good name?
not me!
yeah? that doesn't seem like a good idea to me 😞
react-dom and react-native should be treated as separate projects (learn once, write twice, or what was it?)