Я хочу создать Stack Navigator, который может обрабатывать анимированные элементы c между двумя экранами. Fluid Transitions выглядел как библиотека, которую я мог бы использовать, но она не поддерживает react-navigation
5.X. Если есть пакет с такой функциональностью для response-navigation v5, это было бы замечательно.
Однако, если для v5 нет текущего пакета, я бы хотел расширить StackNavigator
для обработки такого рода. функциональности. Мне удалось удалить анимацию по умолчанию для StackNavigator
с помощью чего-то похожего на следующее (где transition
- это bool, взятый в подпорке options
для Stack.Screen
:
const CustomTransitionStackNavigator = ({
initialRouteName,
children,
screenOptions,
...rest
}) => {
if (descriptors[state.routes[state.index].key].options.transition) {
return (
<View style={{ flex: 1 }}>
{descriptors[state.routes[state.index].key].render()}
</View>
);
}
return (
<StackView
{...rest}
descriptors={descriptors}
navigation={navigation}
state={state}
/>
);
};
Я хотел бы иметь возможность использовать Context
(или какой-либо другой метод) для передачи прогресса перехода потомкам сцены для обработки анимации. Есть ли какой-нибудь способ получить прогресс перехода в v5? это CustomTransitionStackNavigator
нужно управлять этим состоянием? Спасибо!