我在我的react原生应用程序中结合使用了tab导航器、堆栈导航器和switch nagivator以及react-navigation
。请注意,我必须将tab导航器的每个屏幕都放在它自己的堆栈导航器中,以便使用内置的标题功能。
这些功能可以正常工作。但我最终得到了Feed
和Profile
页面的两个标题,如下所示:
我只希望每个屏幕都有自己的标题和评论屏幕有一个后退按钮。我知道代码不是很干净,把所有这些导航器放在彼此里面会占用很多开销。那么,实现这一目标的最佳方法是什么呢?
App.js
const FeedScreenStack = createStackNavigator({
FeedStack: {
screen: feed,
navigationOptions: {
headerTitle: "Feed"
}
}
});
const ProfileScreenStack = createStackNavigator({
ProfileStack: {
screen: profile,
navigationOptions: {
headerTitle: "My Profile"
}
}
})
const TabStack = createBottomTabNavigator({
Feed: { screen: FeedScreenStack },
Profile: { screen: ProfileScreenStack }
});
const AppStack = createStackNavigator({
Tab: TabStack,
Comments: {
screen: comments,
navigationOptions: {
headerTitle: "Comments"
},
}
});
const MainStack = createSwitchNavigator(
{
Home: AppStack,
Auth: AuthStack
},
{
initialRouteName: 'Home'
}
);
const AppContainer = createAppContainer(MainStack);
发布于 2019-03-20 07:54:38
尝试像这样修改AppStack:
编辑:
我忘了把它包含在navigationOptions中。试试看。
const AppStack = createStackNavigator({
Tab: {
screen:TabStack,
navigationOptions: () => ({
headerMode: 'none',
// or this
header: null
})
},
Comments: {
screen: comments,
navigationOptions: {
headerTitle: "Comments"
},
}
},
);
https://stackoverflow.com/questions/55251336
复制相似问题