当我们在 React-Native 的抽屉导航中单击 header 中的图标时,如何在主屏幕顶部加载另一个屏幕
How to load another screen on top of Home screen when we click on icon in header in Drawer navigation in React-Native
我创建了一个带主页和购物车菜单的抽屉式导航
当我点击 header 上的购物车符号时,我想在此主屏幕顶部打开单独的页面。
我写了如下代码
const DrawerNavigationCon=createDrawerNavigator({
Home:HomeNavigation,
Cart:CartNavigation
},{
overlayColor:'gray',
initialRouteName:'Home'
})
我已经编写了从主页导航到购物车的代码,如下所示
const CartNavigation = createStackNavigator({
Cart:CartPage,
},
{
defaultNavigationOptions:({navigation})=>{
return{
headerStyle:{
backgroundColor:'rgb(28, 34, 36)'
},
headerTitle:'Cart',
headerTintColor:'#fff',
headerTitleStyle:{
fontWeight:'bold',
textAlign:'center',
flex:1
},
headerLeft:(
<View>
<Icons name="md-menu" style={{fontSize:35,color:'white',paddingLeft:10}} onPress={()=>navigation.openDrawer()} />
</View>
),
headerRight:(
<View>
<Icons name="md-cart" style={{fontSize:30,color:'white',paddingRight:10}} onPress={() => navigation.navigate('Cart')} />
</View>
)
}
}
})
您可以在 <Icons>
标签中看到 onPress={() => navigation.navigate('Cart')}
当我点击购物车时,它的打开方式如下
但是当我像下面这样点击购物车时,我想在主页顶部加载另一个页面
这样怎么办,求助
提前致谢
const DrawerNavigationCon= createStackNavigator({
Home:createDrawerNavigator({
Home:HomeNavigation,
},{
overlayColor:'gray',
initialRouteName:'Home'
}),
Cart:{
screen : CartPage
}
})
如图所示使用堆栈配置并根据要求配置堆栈
你可以从上面的代码中得到一个想法。
基本想法是使用 stackNavigator 作为父堆栈,将抽屉导航器作为该 stackNavigator 的子级,并将另一条路线与该抽屉导航器平行放置,这样您现在可以在抽屉导航器顶部打开另一个屏幕。
我创建了一个带主页和购物车菜单的抽屉式导航
当我点击 header 上的购物车符号时,我想在此主屏幕顶部打开单独的页面。 我写了如下代码
const DrawerNavigationCon=createDrawerNavigator({
Home:HomeNavigation,
Cart:CartNavigation
},{
overlayColor:'gray',
initialRouteName:'Home'
})
我已经编写了从主页导航到购物车的代码,如下所示
const CartNavigation = createStackNavigator({
Cart:CartPage,
},
{
defaultNavigationOptions:({navigation})=>{
return{
headerStyle:{
backgroundColor:'rgb(28, 34, 36)'
},
headerTitle:'Cart',
headerTintColor:'#fff',
headerTitleStyle:{
fontWeight:'bold',
textAlign:'center',
flex:1
},
headerLeft:(
<View>
<Icons name="md-menu" style={{fontSize:35,color:'white',paddingLeft:10}} onPress={()=>navigation.openDrawer()} />
</View>
),
headerRight:(
<View>
<Icons name="md-cart" style={{fontSize:30,color:'white',paddingRight:10}} onPress={() => navigation.navigate('Cart')} />
</View>
)
}
}
})
您可以在 <Icons>
标签中看到 onPress={() => navigation.navigate('Cart')}
当我点击购物车时,它的打开方式如下
但是当我像下面这样点击购物车时,我想在主页顶部加载另一个页面
这样怎么办,求助
提前致谢
const DrawerNavigationCon= createStackNavigator({
Home:createDrawerNavigator({
Home:HomeNavigation,
},{
overlayColor:'gray',
initialRouteName:'Home'
}),
Cart:{
screen : CartPage
}
})
如图所示使用堆栈配置并根据要求配置堆栈 你可以从上面的代码中得到一个想法。
基本想法是使用 stackNavigator 作为父堆栈,将抽屉导航器作为该 stackNavigator 的子级,并将另一条路线与该抽屉导航器平行放置,这样您现在可以在抽屉导航器顶部打开另一个屏幕。