如何解决在不同堆栈之间导航
我试图在React Native中从一个堆栈导航到另一个堆栈。如何从我的LoginStack
导航到ReleaseDetail
的{{1}}屏幕?我想导航到HomeStack
的屏幕ReleaseDetail
,而不是在LoginStack
中打开ReleaseDetail
的模式。
我正在使用HomeStack
v3。我尝试使用NavigationActions转到主堆栈,但是当它尝试导航时,出现react-native-navigation
错误,提示该组件已卸载。
LoginStack.js:
no-op
Router.js:
onDetailButtonPress={() => {
const { selectedReleaseId } = this.props.playQueue
this.props.navigation.navigate(
NavigationActions.navigate({
routeName: 'HomeStackView',params: { releaseId: selectedReleaseId },action: NavigationActions.navigate({ routeName: 'ReleaseDetail' })
})
)
)
}}
HomeStack.js:
export const appContainer = createAppContainer(
createSwitchNavigator(
{
AuthLoading: AuthLoadingScreen,SignedOutStack: SignedOutStack,LoggedInStackView: LoggedInStack,HomeStackView: HomeStack,Onboard: OnboardStack
},{
initialRouteName: 'AuthLoading'
}
)
)
LoginStack.js:
const HomeStack = createStackNavigator(
{
Home: {
screen: HomeScreen
},Settings: {
screen: SettingsScreen
},ReleaseDetail: {
screen: ReleaseInfoContainerScreen
},SettingOnboard: {
screen: OnboardStack
}
},{
headerMode: 'none'
}
)
解决方法
尝试使用“ withNavigation”包装组件(即,您要导航的页面和要导航的页面)
例如 如果要从PlayerScreen导航到HomeScreen 导出PlayerScreen和HomeScreen时,
import { withNavigation } from 'react-navigation'
然后在导出组件时使用
export default withNavigation(PlayerScreen)
export default withNavigation(HomeScreen)
然后使用NavigationActions
我希望这会有所帮助
,使用console.log检查输出以查看是否具有导航功能。
在LoginStack.js中添加一个console.log("PROPS",this.props)
,然后检查结果以查看其是否链接到导航。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。