Изменение направления анимации для определенного экрана в StackNavigator?

#react-native #react-navigation

Вопрос:

Мне нужно изменить анимацию навигации bottom-to-top для определенного экрана в стеке-навигаторе в Navigation 5.0.

Ответ №1:

Я искал ответы в StackOverflow, но не нашел решения, связанного с одним экраном. Итак, вот решение, если кто-то ищет ответ.

options={{cardStyleInterpolator: CardStyleInterpolators.forVerticalIOS}}

 import {  CardStyleInterpolators,createStackNavigator } from "@react-navigation/stack";

<AppStack.Navigator headerMode="none" initialRouteName={"Home"}>
          <AppStack.Screen name="Home" component={HomeScreen} />
          <AppStack.Screen
            options={{
              cardStyleInterpolator: CardStyleInterpolators.forVerticalIOS,
            }}
            name="Edit"
            component={EditScreen}
          />
          <AppStack.Screen name="Settings" component={SettingScreen} />
        </>
      )}
</AppStack.Navigator>
 

Комментарии:

1. Если вы хотите использовать forVerticalIOS, но вместо этого перевернутый, вы можете использовать его следующим образом: cardStyleInterpolator: ({current, inverted, layouts}) => CardStyleInterpolators.forVerticalIOS({current: current, inverted: -1, layouts: layouts})