Hey people, especially @ericvicenti, @brentvatne
First of all I would like to tell you that I'm extremely grateful for your work, I know that open-source projects are based on developers free-time, and this doesn't force to give any guarantees.
I'm also a member of this community. I just want to improve the software and make him more accessible to people that are using it.
What is that about ?
It's been 3 weeks that I'm stuck for building a huge application for my client working in the medical (great company). My brain is boiling, I tried to turn the problem in all directions. I always face the failure. I've been forced to hack the library and the behavior in many way but I can't escape anymore and I would like to do the right things to have a top quality product.
Samples & even demonstration are cool, but I can't find anywhere (and god knows I tried everywhere to ask some help and tried so many things) to render a complete routing for a great application.
I would be really graceful to you if you can light me up, also the community and I would be really pleased to improve the documentation from the point of view of a man that is not part of the library core (and you can trust me this is important that the documentation is from that point of view...)
Below is a representation of my application screens as I structured them in my mind (I might be wrong):
Application Screen Tree
- ROOT (Redux aware with nav helpers)
- Anonymous (I presume StackNavigator)
- Onboarding (Stack)
- AnonymousSplash (Contain button to go back to onboarding, if not first app launch, Go to login and go to signup)
- Login (This should trigger moving to the other part)
- Signup
- Authenticated (Tab Navigator)
- Home
- Journal
- JournalOnboarding (A first step that initialize the journal)
- JournalReadyNavigator (Another tabNavigator that display this time a top Tabnavigator)
- Modals (A collection of things that swipe from bottom as fullscreen as described in the current doc)
Looks simpIe on the paper, right ? But not so easy in fact...
This is just so hard to represent and make it work... WHY ? What is the purpose of such a library if we can't use it for great companies that require complexe UI. For you consideration, you concurrents already show a way to deal with that case such as HERE.
What I would like you to light-up
What I would like you to do is the following:
Can you provide an (or some) examples that shows :
- First time login / account creation, along with an onboarding screen ? That use a StackNavigator.
- Authenticated area that use a
TabNavigator
- Conditional rendering on both depending on the login state, INCLUDING killing and restart application and checking the redux state for a given JWT (or something like) token to determine if we are already connected.
- In a generic way, how to achieve conditional router rendering without broking navigation state. Redux connect can be an issue ? Tell us about that.
All of this without broking the navigation state because I need to both:
- Track EACH screen transitions.
- Handle a back button logic in the less place possible, using my own algorithm that browse nav state recursively.
I think this is a top priority, not only because I need it but because if people can't understand how you were thinking when you designed the library, they won't be able to realize great things using it and will probably go somewhere else to achieve what they have to...
I wish you a great day,
Best regards.
Andréas
PS : If I can help you for that in any way, just tell me.