我正在尝试使用这个非常好的tutorial/demo
来构建抽屉导航器问题是虽然这段代码有效但我可以浏览stacknavigator中的所有屏幕:
const navigator = StackNavigator({
home: { screen: Home },
signup: { screen: SignUpStep },
login: { screen: Login },
selectTeachers: { screen: SelectTeachers },
dashboard: { screen: Dashboard },
},
{
headerMode: 'float',
navigationOptions: {
headerStyle: { backgroundColor: '#E73536' },
title: 'You are not logged in',
headerTintColor: 'white'
}
});
export default navigator;
但是当我尝试包括,作为第一步,将登录场景合并到loginstack然后将其作为另一个const中的屏幕时,它不起作用:
const LoginStack = StackNavigator({
home: { screen: Home },
signup: { screen: SignUpStep },
login: { screen: Login },
selectTeachers: { screen: SelectTeachers },
dashboard: { screen: Dashboard },
},
{
headerMode: 'float',
navigationOptions: {
headerStyle: { backgroundColor: '#E73536' },
title: 'You are not logged in',
headerTintColor: 'white'
}
});
const navigator = StackNavigator({
loginStack: { screen: LoginStack },
//drawerStack: { screen: DrawerNavigation }
}, {
// Default config for all screens
headerMode: 'none',
title: 'Main',
initialRouteName: 'loginStack'
});
export default navigator;
这是我得到的错误:
答案 0 :(得分:0)
你带来的链接散开了错误的方法。
我在那里写了一条评论,
将抽屉放在StackNavigation下是一个坏主意,但事实并非如此 适合任何设计指南。在iOS中,拖动打开操作是重复的 在导航中返回动作。在Android中,您找不到应用 来自谷歌使用这种方法。抽屉应该覆盖StackNavigator 来自外面。
您需要将第二个StackNavigator更改为DrawerNavigator。并参阅DrawerNavigator的'react-navigation'文档或示例。