【发布时间】:2020-04-21 17:06:24
【问题描述】:
编辑小吃:https://snack.expo.io/rJfyQLhJ8
我正在使用一些非常过时的课程材料学习本机反应。发生了一些重大变化,我正在努力解决问题。这是我的主要组件,有几个导航器。
菜单导航器:
const MenuNavigator = createStackNavigator(
{
Menu: { screen: Menu },
Dishdetail: { screen: Dishdetail }
},
{
initialRouteName: 'Menu',
defaultNavigationOptions: {
flex: 1,
headerStyle: {
backgroundColor: '#512DA8',
},
headerTintColor: '#fff',
headerTitleStyle: {
color: '#fff'
}
}
})
主页导航器
const HomeNavigator = createStackNavigator(
{
Home: { screen: Home }
},
{
defaultNavigationOptions: {
headerStyle: {
backgroundColor: '#512DA8',
},
headerTintColor: '#fff',
headerTitleStyle: {
color: '#fff'
}
}
})
最后是 MainNavigator
const MainNavigator = createDrawerNavigator(
{
Home:
{
screen: HomeNavigator,
navigationOptions: {
title: 'Home',
drawerLabel: 'Home'
}
},
Menu:
{
screen: MenuNavigator,
navigationOptions: {
title: 'Menu',
drawerLabel: 'Menu'
},
}
},
{
drawerBackgroundColor: '#D1C4E9'
});
之后,我将它包装在 createAppContainer 中,并在 render 方法中使用它。
const App = createAppContainer(MainNavigator);
class Main extends Component {
render() {
return (
<View style={{ flex: 1, paddingTop: Platform.OS === 'ios' ? 0 : Expo.Constants.statusBarHeight }}>
<App />
</View>
);
}}
应用程序构建成功,我可以访问侧边抽屉,但是当我单击菜单项时,它会导航而不会引发错误,但会显示 空白屏幕。如果我导航回主屏幕,它将正确显示,但会显示一个空白屏幕来代替菜单屏幕/组件。为什么是这样 ?我正在使用 OnePlus5t。
【问题讨论】:
标签: react-native react-native-android react-navigation react-navigation-stack react-navigation-drawer