Вопрос относительно response-navigation v5.
В предыдущих версиях мы могли указывать пользовательский переход для указанных c маршрутов, не для экранов , выполняя следующие действия внутри StackNavigator
:
transitionConfig: () => ({
screenInterpolator: sceneProps => {
const {scenes, scene} = sceneProps;
const prevRoute = scenes[0].route.routeName === 'Route A';
// If prev route is A, and then current route is B, then we do a specific transition
if (prevRoute && scene.route.routeName === 'Route B') {
return StackViewStyleInterpolator.forVertical(sceneProps);
}
// Otherwise default to normal transition
return StackViewStyleInterpolator.forHorizontal(sceneProps);
},
}),
Теперь я пытаюсь добиться того же самого в реакции-навигации v5. Я знаю, что могу указать пользовательскую анимацию для каждого экрана, выполнив что-то вроде:
<Stack.Screen name="Route B" component={RouteB} options={{ cardStyleInterpolator: CardStyleInterpolators.forVerticalIOS }} />
Проблема в том, что я не хочу, чтобы этот переход применялся каждый раз, когда он перемещается к RouteB
, ТОЛЬКО когда предыдущий маршрут RouteA
, я хочу применить этот переход, как и предыдущий блок кода выше.
Не удалось найти ни одного примера в документации, поэтому был бы признателен за помощь при переносе кода в v5. .