App
App copied to clipboard
[HOLD for payment 2024-07-10] [$250] Simplify the RootNavigator structure
Follow up to the ideal navigation project, we have one task to simplify the structure now.
Problem
The problem is the same as described in this issue but for the RootNavigator
.
Currently, central pane screens in RootNavigator
are wrapped with the central pane navigator. This may be problematic for two reasons:
- Getting information about the actual screen requires more code. It has become visible especially after we migrated to typescript, instead of just getting the route name we have to extract the route from the state or params of the parent navigator.
- More nested navigators mean worse performance.
Solution
In the early implementation of navigation, we used the custom component ThreePaneView
. That was the main reason to encapsulate screens with central pane navigators. Now we use StackView for both narrow and wide layouts and the wide layout is achieved using styles.
This allows us to flatten the navigation structure. Now screens from CentralPaneNavigator
will be mounted directly in the RootNavigator
This way developing and maintaining navigation should be easier and we should get a slight performance boost. cc @adamgrzybowski @WojtekBoman
Upwork Automation - Do Not Edit
- Upwork Job URL: https://www.upwork.com/jobs/~01e857cb7b9e57642a
- Upwork Job ID: 1793573481726357504
- Last Price Increase: 2024-05-23
- Automatic offers:
- hoangzinh | Reviewer | 102432432