Javascript react native的堆栈导航器和选项卡导航器出现问题
我试图从选项卡导航器导航到堆栈导航器上的屏幕,但出现以下错误: 在进入选项卡导航器后,是否有特定的方式导航回堆栈导航器 以下是我使用onPress的地方:Javascript react native的堆栈导航器和选项卡导航器出现问题,javascript,react-native,expo,Javascript,React Native,Expo,我试图从选项卡导航器导航到堆栈导航器上的屏幕,但出现以下错误: 在进入选项卡导航器后,是否有特定的方式导航回堆栈导航器 以下是我使用onPress的地方: onPress={() => this.onProfileButtonPressed()} onProfileButtonPressed的函数如下所示: constructor(props){ super(props); this.state = { filteredCellArray: [],
onPress={() => this.onProfileButtonPressed()}
onProfileButtonPressed的函数如下所示:
constructor(props){
super(props);
this.state = {
filteredCellArray: [],
masterCellArray: []
};
this.onProfileButtonPressed = this.onProfileButtonPressed.bind(this);
}
onProfileButtonPressed = () => {
this.props.navigation.navigate('Profile', this);
console.log("Profile Button Pressed");
};
下面是带有堆栈和选项卡导航器的路由器:
const TabNav = TabNavigator({
Profile:{
screen: Profile,
tabBarOptions: {
showLabel: false
}
},
Books:{
screen: BookTab
},
Tutors:{
screen: TutorTab
},
Furniture:{
screen: FurnitureTab
},
Roommate:{
screen: RoommateTab
},
Carpool:{
screen: CarpoolTab
}},
{
tabBarComponent: TabBarBottom,
tabBarPosition: 'bottom',
swipeEnabled: false,
animationEnabled: false,
lazy: true,
initialRouteName: 'Books'
});
export const FeedStack = StackNavigator({
SignIn: {
screen: SignIn,
navigationOptions: {
title: "Login"
}
},
SignUp: {
screen: SignUp,
navigationOptions: {
title: "Create An Account"
}
},
ForgotPassword: {
screen: ForgotPassword,
navigationOptions: {
title: "Forgot Password"
}
},
Profile: {
screen: Profile,
navigationOptions: {
title: "Your Profile"
}
},
TabNav: {
screen: TabNav,
navigationOptions: {
title: "Home"
}
},
listing: {
screen: listing,
navigationOptions: {
title: "Listing"
}
}
})
我认为您的问题在于当前您的
TabNavigator
位于StackNavigator
内。应该是另一种方式
此外,由于您不想在所有视图中显示它(我想是在注册中),因此需要对其进行自定义。请阅读有关隐藏选项卡栏的文档中的更多规范
但是选项卡的基本逻辑是堆栈在它们内部
如果您将函数绑定到构造函数中的作用域,那么您应该像这样引用它:
onPress={this.onProfileButtonPressed}
请提供并向我们展示您的导航器堆栈设置。如果StackNavigator
不在TabNavigator
下,则它将不起作用。由于我们的stack navigator具有所需的登录屏幕,因此我当前让应用程序先启动stack。如果我们把TabNavigator放在StackNavigator里面,我们该怎么做?@frog4初始路由和应用程序行为的逻辑是相似的,即使堆栈在tab里面。对于自定义逻辑,您需要注意的唯一一件事是,当选项卡可见时。不幸的是,我不能提供任何atm的例子,但我希望你能找到一个。“它应该是另一种方式。”不一定