由于我在堆栈导航器中更新以反应导航v2,我可以在选项卡之间滑动,现在我不知道如何解决它,因为gesturesEnabled不再适用于我。
const HomeStack = createStackNavigator({
Home:HomeScreen,
Read:Read
},
{
headerMode:'none'
}
);
const Tabs = createMaterialTopTabNavigator({
Home:{
screen: HomeStack,
navigationOptions: {
tabBarLabel:'Home',
tabBarIcon: () => <Image source ={require('../assets/icons/tabHome.png')} style={{width: 32,height: 32}}></Image>
}
},
{
initialRoutName: 'Home',
swipeEnabled: true
});
export const Root = createStackNavigator ({
Tabs: {
screen: Tabs
}
},
{
navigationOptions:{
header: <Header/>
}
}
);
HomeStack.navigationOptions = ({ navigation }) => {
let tabBarVisible = true;
if (navigation.state.index > 0) {
tabBarVisible = false;
}
return {
tabBarVisible
};
};
class MainScreen extends Component {
render() {
return <Root />
}
}
所以我真正需要的是当我在Read stack中时禁用选项卡之间的滑动。另外,您可以看到root选项有一个固定的标题。当我在root里面时,如何隐藏标题?因为标题:'none'不会覆盖root选项。谢谢。
您想在标签导航器配置中将swipeEnabled
设置为false
。这在以下文档中有记录:https://reactnavigation.org/docs/en/material-top-tab-navigator.html