mirror of
https://github.com/status-im/react-navigation.git
synced 2025-02-24 17:18:09 +00:00
add doc for transitionConfig (#1827)
* add doc for transitionConfig * address review
This commit is contained in:
parent
5e001155fb
commit
81d8d91085
@ -173,3 +173,45 @@ The navigator component created by `StackNavigator(...)` takes the following pro
|
||||
See the examples [SimpleStack.js](https://github.com/react-community/react-navigation/tree/master/examples/NavigationPlayground/js/SimpleStack.js) and [ModalStack.js](https://github.com/react-community/react-navigation/tree/master/examples/NavigationPlayground/js/ModalStack.js) which you can run locally as part of the [NavigationPlayground](https://github.com/react-community/react-navigation/tree/master/examples/NavigationPlayground) app.
|
||||
|
||||
You can view these examples directly on your phone by visiting [our expo demo](https://exp.host/@react-navigation/NavigationPlayground).
|
||||
|
||||
#### Modal StackNavigator with Custom Screen Transitions
|
||||
|
||||
```js
|
||||
const ModalNavigator = StackNavigator(
|
||||
{
|
||||
Main: { screen: Main },
|
||||
Login: { screen: Login },
|
||||
},
|
||||
{
|
||||
headerMode: 'none',
|
||||
mode: 'modal',
|
||||
navigationOptions: {
|
||||
gesturesEnabled: false,
|
||||
},
|
||||
transitionConfig: () => ({
|
||||
transitionSpec: {
|
||||
duration: 300,
|
||||
easing: Easing.out(Easing.poly(4)),
|
||||
timing: Animated.timing,
|
||||
},
|
||||
screenInterpolator: sceneProps => {
|
||||
const { layout, position, scene } = sceneProps;
|
||||
const { index } = scene;
|
||||
|
||||
const height = layout.initHeight;
|
||||
const translateY = position.interpolate({
|
||||
inputRange: [index - 1, index, index + 1],
|
||||
outputRange: [height, 0, 0],
|
||||
});
|
||||
|
||||
const opacity = position.interpolate({
|
||||
inputRange: [index - 1, index - 0.99, index],
|
||||
outputRange: [0, 1, 1],
|
||||
});
|
||||
|
||||
return { opacity, transform: [{ translateY }] };
|
||||
},
|
||||
}),
|
||||
}
|
||||
);
|
||||
```
|
||||
|
Loading…
x
Reference in New Issue
Block a user