Dans React native (iOS), Navigateur de pile de React navigation a une animation de transition par défaut pour déplacer les écrans vers la gauche ou la droite en fonction de l'ordre de la pile. Existe-t-il un moyen de désactiver l'animation de transition?
J'espère que cela vous aidera. Veuillez essayer comme ci-dessous.
const StackNavigatorConfig = {
[...]
transitionConfig : () => ({
transitionSpec: {
duration: 0,
timing: Animated.timing,
easing: Easing.step0,
},
}),
}
export const Navigator = StackNavigator(RouteConfiguration,StackNavigatorConfig)
Je ne pense pas qu'il existe une variable booléenne qui contrôle l'animation de transition. Nous ne pouvons donc pas masquer directement l'animation.
Mais il y a une variable qui contrôle la durée de l'animation!
Essayez ceci ~ ↓
const RootStackNavigator = createStackNavigator({
// ...
}, {
transitionConfig: () => ({
transitionSpec: {
duration: 0, // Set the animation duration time as 0 !!
},
}),
});
React Navigation 5
<NavigationContainer>
<Stack.Navigator initialRouteName="HomeScreen">
<Stack.Screen
name="HomeScreen"
component={HomeScreen}
options={{
animationEnabled: false,
}}
/>
</Stack.Navigator>
</NavigationContainer>
Vous pouvez désactiver les animations de transition avec l'option de navigation animationEnabled
. Documents
defaultNavigationOptions: ({navigation}) => ({
animationEnabled: false,
})
Vous voudrez peut-être passer ceci dans navigationOptions
à la place selon votre cas d'utilisation.
Mise à jour pour react-native: 0.61.5
Nous avons pu désactiver les animations/transitions en utilisant les accessoires ci-dessous dans navigationOptions.
animationEnabled:false,
transitionConfig: () => ({
transitionSpec: {
duration:0,
timing: 0,
},
})
Les autres packages pertinents que nous utilisons sont:
Dans la dernière version de react-native (dans mon cas:)
"react-native": "0.60.5",
"react-navigation": "^4.0.10",
"react-navigation-stack": "^1.10.3",
mettez simplement la configuration suivante:
transitionConfig: () => ({
transitionSpec: {
timing: Animated.timing,
},
screenInterpolator: () => {},
}),