React Native Native-Stack:在 iOS 上禁用过渡动画

React Native Native-Stack: disable transition animation on iOS

React Native 0.68 with Native-Stack:过渡动画在 android 上禁用,但在 iOS 15.4.1(屏幕从右向左滑动)上不禁用。

import React, {Component} from 'react';
import {Platform} from 'react-native';
import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import Map from './screens/map';
import Splash from './screens/splash';

const Stack = createNativeStackNavigator();

export default class App extends Component {
  render() {
    return ( 
      <NavigationContainer>  
        <Stack.Navigator initialRouteName="Splash">
          <Stack.Screen name="Splash" component={Splash} options={{headerShown: false, gestureEnabled: false, animation: 'none'}}/>
          <Stack.Screen name="Map" component={Map} options={{headerShown: false, gestureEnabled: false, animation: 'none'}}/>
        </Stack.Navigator>
      </NavigationContainer> 
    );
  }
}

有什么想法吗?

对于原生堆栈,您可以使用库提供的预设或通过将 'none' 传递给动画道具来禁用。

这是一个选项,因此它可以作为屏幕选项传递给导航器,或者可以使用选项为每个屏幕配置。

添加了一个工作演示 - https://snack.expo.dev/Hq4U52f0i

https://reactnavigation.org/docs/native-stack-navigator/#animation