As I did the navigation in React Native is not such a terrible
During the development of mobile applications on React Native I tried several standard libraries for navigation, but using each of them I experienced just terrible, hellish pain. They were made so uncomfortably and unobviously that the development of even the simplest seemed to be a feature, turned into an uncommon quest.
Using react-navigation or react-native-router-flux, if you need to make a screen that can be accessed from several different places, it will be very difficult for you to create a hierarchy of nested routs so that everything works as it should. Or if you want some screen to appear with non-default animation, then you'll also have to puff. Also these libraries embody the harmful and destructive idea of including UI components like the top navigation bar and tabs. This is a direct violation of the unix-way approach, where one library performs one and only one function, but qualitatively. Because of this close connection of UI components with navigation, bugs often occur - several navigation bars appear on the screen, one of which can be a "back" button, and another screen name.
Having been plagued by grief with standard libraries, I decided to develop my navigator. The main development goals were the simplicity of the API, the lack of a rigid nesting structure for screens and the separation of animations from content. This is how react-native-easy-router was born.
The developed navigator is already used in several of our commercial projects, and received little distribution and warm reviews among some React Native developers. If you want to see more examples of usage and decide whether you can use this navigator in your project, then you can dig into repositories project.
It may be interesting