AnimationStackView onNavigation should return a promise for animation completion
#9 opened on Jan 6, 2016
Repository metrics
- Stars
- (440 stars)
- PR merge metrics
- (PR metrics pending)
Description
onNavigation() could return a promise that would allow to (optionally) track the completion of the navigation action.
For instance, if a button do a navigation push, you might want to make it display differently and disable it until the navigation is completed.
I don't think it is the responsability to the button to "check if navigation is happening and disable it itself" but if the button onPress methods allow a function that (potentially) returns a promise, we could just do: <Button onPress={() => onNavigation(new Navigation.Action.Push('route'))} />
It's great to have a fine level of control over navigation action: on a single navigation action, user could know when the navigation has successfully moved to next screen or if it was aborted (by making the promise failing). Also the fact it's a promise make a great API to the user I think, because people might just ignore this detail and don't use it, but when you need it you can do a then() on the result.
(for context, I asked the same question on the old navigation api: https://github.com/facebook/react-native/issues/4824 )