The navigation stack, displayed by a real native navigator.
StoneNativeApp shows the top screen and nothing more, which is what makes a first run work
with nothing installed. This is what an application graduates to: the platform's own transitions,
the swipe-back gesture, the hardware back button, and a screen keeping its own state while another
covers it. None of that can be imitated in JavaScript.
The pages do not change. Stone's stack is still the truth, the router still resolves every
route, and this component only displays what landed. What it adds is the other direction: a gesture
is a navigation the framework has not heard about yet, so it is reported back (see
shouldPopStone).
Behind @stone-js/use-react-native/navigation, so @react-navigation/native and its own native
dependencies stay optional: an application that is happy with the floor installs none of them.
The navigation stack, displayed by a real native navigator.
StoneNativeApp shows the top screen and nothing more, which is what makes a first run work with nothing installed. This is what an application graduates to: the platform's own transitions, the swipe-back gesture, the hardware back button, and a screen keeping its own state while another covers it. None of that can be imitated in JavaScript.
The pages do not change. Stone's stack is still the truth, the router still resolves every route, and this component only displays what landed. What it adds is the other direction: a gesture is a navigation the framework has not heard about yet, so it is reported back (see shouldPopStone).
Behind
@stone-js/use-react-native/navigation, so@react-navigation/nativeand its own native dependencies stay optional: an application that is happy with the floor installs none of them.