我正在寻找一个 Stack Navigator,它可以处理 2 个屏幕之间的特定元素的动画。Fluid Transitions看起来像是我可以使用的库,但它不支持react-navigation
5.X。如果有一个包具有此功能的 react-navigation v5,那就太好了。
但是,如果没有 v5 的当前包,我想扩展StackNavigator
以处理这种功能。我已经能够StackNavigator
使用类似于以下内容的内容删除默认动画(其中的道具中transition
采用了布尔值: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
需要管理那个状态吗?谢谢!