Merge pull request #27929 from jshosomichi/master

[react-navigation] add exportation StackViewTransitionConfigs
This commit is contained in:
Ron Buckton
2018-08-09 17:34:16 -07:00
committed by GitHub
2 changed files with 31 additions and 0 deletions

View File

@@ -19,6 +19,7 @@
// Jérémy Magrin <https://github.com/magrinj>
// Luca Campana <https://github.com/TizioFittizio>
// Ullrich Schaefer <https://github.com/stigi>
// Yosuke Seki <https://github.com/jshosomichi>
// Jake <https://github.com/jakebooyah>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.8
@@ -700,6 +701,28 @@ export interface TransitionConfig {
containerStyle?: StyleProp<ViewStyle>;
}
export type TransitionConfigurer = (
transitionProps: NavigationTransitionProps,
prevTransitionProps: NavigationTransitionProps,
isModal: boolean
) => TransitionConfig;
export interface StackViewTransitionConfigsType {
defaultTransitionConfig: TransitionConfigurer;
getTransitionConfig: (
transitionConfigurer: TransitionConfigurer,
transitionProps: NavigationTransitionProps,
prevTransitionProps: NavigationTransitionProps,
isModal: boolean
) => TransitionConfig;
SlideFromRightIOS: TransitionConfig;
ModalSlideFromBottomIOS: TransitionConfig;
FadeInFromBottomAndroid: TransitionConfig;
FadeOutToBottomAndroid: TransitionConfig;
}
export const StackViewTransitionConfigs: StackViewTransitionConfigsType;
export type NavigationAnimationSetter = (
position: AnimatedValue,
newState: NavigationState,

View File

@@ -24,6 +24,7 @@ import {
NavigationStackScreenOptions,
NavigationTabScreenOptions,
NavigationTransitionProps,
StackViewTransitionConfigs,
createStackNavigator,
StackNavigatorConfig,
createSwitchNavigator,
@@ -573,3 +574,10 @@ class MyScreen extends React.Component<NavigationInjectedProps<MyScreenParams>>
return <button title={title} onClick={() => { this.props.navigation.goBack(); }} />;
}
}
// Test createStackNavigator
createStackNavigator(
routeConfigMap,
{transitionConfig: () => ({screenInterpolator: StackViewTransitionConfigs.SlideFromRightIOS.screenInterpolator})}
);