jlyman / jlyman/RN-NavigationExperimental-Redux-Example

I'm interested in creating a declarative version of ExNavigator, let's call it "NextNavigator"...

Open
#12 1 comment 2 reactions 0 assignees View on GitHub
help wanted
Dominant language
JavaScript
Stars
341
Forks
31
PR merge metrics
No merged PRs in 30d

Description

Hey there, I've been studying Navigator Experimental (aimed at using with Redux) and I found your example finally tied it all together (whereas the initial docs are quite obtuse).

I currently have an app I built using Ex Navigator, which I'm sure you're familiar with: https://github.com/exponentjs/ex-navigator

The good parts are obviously the way you can easily pass a route and have the navigation bar rendered properly + the scene. The bad parts are obviously that it's not declarative, and won't play nice with Redux as you move between actions in the dev tools.

I'd like to preserve the ExNavigator interface (minus a few things), but make it declarative. So that means `navigator.push` would be gone and redux actions and reducers would be used as you have now. _But_ we could call `this.props.navigatePush(route)` with an identical route object as what you would pass to _ExNavigator_. That's the goal. Navigation bar handled identically as in ExNavigator.

The overall goal is it would allow people to use NavigatorExperimental as a _near-drop-in-replacement_ for the very popular ExNavigator. Basically all you need to do is replace your calls to `push`, `pop`, etc, with dispatching redux actions, and properly assign the _navigationState_ prop. But `renderOverlay` and `renderScene` would be handled `100` internally. From my perspective, I'm really confused as to why this wasn't the overall goal with _NavigatorExperimental_ from the beginning, but I guess one step at a time.

So how do you see us getting done _NextNavigator_? What do you see needing to be done? And is this something of interest to you to work on?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.