Ignite: 2.0 out of box Navigation

Created on 27 Feb 2017  Â·  18Comments  Â·  Source: infinitered/ignite

It's essential we don't ship 2.0 with the RNRF navigator enforced.

I think it would be a great idea to tackle react-navigation as either the primary, or alternative option for 2.0

enhancement

Most helpful comment

@tmaly1980 and @vesper8 - Latest in master uses react-navigation tied in with redux, and EVEN a magical assistant for tracking navigation actions and reporting them to analytics.

It took a while to land here, but it's good stuff.

All 18 comments

I'd love for it to be react-navigation, but it's not production ready just yet.

so react-navigation is not going to be the de-facto navigation when 2.0 releases?

i'm just looking into getting into ignite and react-navigation was one of the big reasons.. searching through the issues it looked like it was going to be included in 2.0 (in the beta I mean, scheduled to be released eminently)

btw i just stumbled here a few days ago so take what i say with a grain of salt

RN is changing so fast it'd be easy to argue that very little in RN is "production-ready" yet that doesn't stop some people from using it in production. I know I'm one of those who's always using the bleeding edge. I think react-navigation is going to be the navigation system pretty soon. If you're not shipping 2.0 beta with it at least make it very easy for us to choose to make it the default :)

Everyone here (and I'm convinced everyone on the internet) is cheering for react-navigation.

I know airbnb is about to land their new navlib soon. As is react router 4 (2fast2native).

react-native-router-flux has been an amazing stop gap, but we're ready to eject as well. And we've got several client apps built with it. It really was good enough.

But react-navigation is great!

We've already plugged it into our dev screens. We just need a bit more time before we vouch for it... And so do they. They haven't even released it out of beta yet.

But I'm with ya @vesper8. Can't wait!

@vesper8 I'd lobby for react-navigation over RNRF.

I think we currently leaning towards, release 2.0 as the tooling that can support options.

Then quickly iterate towards 2.1 with an option to use RNRF or react-navigation as 2 plugins

We'll definitely integrate react-navigation as soon as we feel like it's stable enough for prime time (this is regardless of Ignite 2.0). Currently it's still not quite there, but we'll be right on it as soon as it is.

Also: ref #593

Now that we've renamed our app boilerplate to ignite-ir-app-boilerplate-2016 in #827, my preference is that we do a big discussion around where we're going to go in 2017+, and then create a new WIP boilerplate that is intended to be a successor to IR-AB-2016. I _do not_ think we should change IR-AB-2016 to include react-navigation.

While we're working on that, developers will be able to use our WIP version by doing something like:

$ ignite new TinderForIguanas -b nav-boilerplate

In fact, any far-reaching changes like this should be done in a new boilerplate as opposed to a plugin generator. Generators are sweet -- but for anything cross-cutting, they involve a pretty intense technical investment, which also increases the inertia around that particular tech. Boilerplates, on the other hand, can be quick forks of existing boilerplates and we revamp them and move along.

More discussion around this is needed, but this is the direction I've been going.

I learn from you and then forget where it came from and take credit. That's what makes me a good leader.

I'm going to close this. Here's the outcome. rnrf stays in our 2016 stack. react-navigation will be in our new stack.

is there already a stack or boilerplate available today that i can use with ignite 2.0 beta that has react-navigation baked in? if not.. is there any eta? thanks!

Keep on me to add it. I just need to find time.

On Tue, Mar 14, 2017 at 4:38 AM, vesper8 notifications@github.com wrote:

is there already a stack or boilerplate available today that i can use
with ignite 2.0 beta that has react-navigation baked in? if not.. is there
any eta? thanks!

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/infinitered/ignite/issues/759#issuecomment-286395899,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA83JRj2xuGEBnifWnhVhITvD-zUFCSiks5rlnwcgaJpZM4MNT7_
.

@GantMan Sounds good! What's the best way to "keep on you" ? I'll be happy to send you daily reminders :) In all seriousness.. can I add you on some other messaging platform?

I'm only waiting on this to start tackling a migration of a current codebase to a "best practices" boilerplate powered by ignite and react-navigation. I'm ok with it being in beta. But I just don't want to spend a week migrating to the 2016 boilerplate only to have to repeat the process again as I am really set on using what I personally guess will be "the best" packages going forward even if they aren't entirely stable at the moment.

@skellock , ok so 2.0.0-rc.2 ships with react-navigation. I'd love to see it integrated with redux/reduxsauce when generating a new project, such as via:

https://github.com/HarrisRobin/ignite-react-navigation-redux-example

Specifically, I'm more interested in props access to the nav state than having action handler integration.

In my case, I need a way to load fresh data for a screen when it's made visible (done via componentWIllReceiveProps, I think)

@vesper8 You may want to check this out

@tmaly1980 We've been working on this (@derekgreenberg to be specific). Thanks!

@tmaly1980 and @vesper8 - Latest in master uses react-navigation tied in with redux, and EVEN a magical assistant for tracking navigation actions and reporting them to analytics.

It took a while to land here, but it's good stuff.

@GantMan , any plans for integrating navigation actions with a NavSaga? Sadly, one thing that keeps me from touching react-navigation is how absurdly complicated/abstract it is to do something as simple as resetting the nav stack to a specific screen:

const resetAction = NavigationActions.reset({
  index: 0,
  actions: [
    NavigationActions.navigate({ routeName: 'HomeScreen'}),
  ]
})
this.props.navigation.dispatch(resetAction)

I'd love to see some sort of saga built into ignite that handles these more complex navigation actions. Until then, I've switched over to wix' react-native-navigation which has much simpler navigation actions. reset() actually does what you think it would, in one line (not 7 like above).

@GantMan , what's this about analytics and a magical assistant? You mean something command line?

So I put a screen tracking middleware example. So as you navigate you fire off middleware functions so you can send to the tracker of your choice!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jamonholmgren picture jamonholmgren  Â·  3Comments

whalemare picture whalemare  Â·  3Comments

besingamkb picture besingamkb  Â·  3Comments

GantMan picture GantMan  Â·  3Comments

skellock picture skellock  Â·  3Comments