【发布时间】:2018-07-23 16:08:30
【问题描述】:
我正在尝试在同一 StackNavigator 的不同屏幕之间创建滑动导航
当我在navigationOptions 中设置swipeEnabled:true 时,我的应用程序宁愿在不同的选项卡之间导航。
例如,我宁愿在同一个堆栈中从 Screen A 导航到 Screen B。
我该怎么做?
【问题讨论】:
标签: react-native react-navigation
我正在尝试在同一 StackNavigator 的不同屏幕之间创建滑动导航
当我在navigationOptions 中设置swipeEnabled:true 时,我的应用程序宁愿在不同的选项卡之间导航。
例如,我宁愿在同一个堆栈中从 Screen A 导航到 Screen B。
我该怎么做?
【问题讨论】:
标签: react-native react-navigation
我有同样的用例。我想要一个可滑动的<StackNavigator>。我能找到的解决方案是使用<TabNavigator> 模拟<StackNavigator>,或者更具体地说,使用createMaterialTopTabNavigator()。
我所做的是创建此选项卡(这是 react-navigation 2 中唯一允许swipeEnabled 的选项卡)并将display: none 添加到其样式中。这样我就可以拥有一个行为类似于<StackNavigator> 的<TabNavigator>。
这是代码:
const SwipeableNavigator = createMaterialTopTabNavigator({
FrontCard: FrontCardScreen,
BackCard: BackCardScreen
},
{
swipeEnabled: true,
tabBarOptions: {
style: { display: "none" }
}
});
然后只需拨打<SwipeableNavigator /> 即可。
【讨论】:
tabBarComponent: () => null。这样你就不必渲染然后用样式隐藏它