Reactjs createDrawerNavigator和back按钮
我们在应用程序中使用抽屉导航器来显示抽屉中的路线。我们的路线有成堆的页面,用户可以进入一个页面。例如:Reactjs createDrawerNavigator和back按钮,reactjs,react-native,react-navigation,Reactjs,React Native,React Navigation,我们在应用程序中使用抽屉导航器来显示抽屉中的路线。我们的路线有成堆的页面,用户可以进入一个页面。例如: 家 家庭子女1 家庭子女2 关于 当用户转到HomeChild1或HomeChild2时,我们希望在标题中显示back按钮。我们不希望在每个页面的导航选项中添加后退按钮,如下所示: HomeScreen1.navigationOptions = ({ navigation }) => { const { state } = navigation; return {
- 家
- 家庭子女1
- 家庭子女2
- 关于
HomeScreen1.navigationOptions = ({ navigation }) => {
const { state } = navigation;
return {
title: `Home Screen 1`,
headerLeft: (
<Icon
name="ios-arrow-back"
type="ionicon"
color="#FFF"
underlayColor="transparent"
iconStyle={{ paddingRight: 5 }}
onPress={() => {
navigation.navigate.goBack();
}}
/>
)
};
}
HomeScreen1.navigationOptions=({navigation})=>{
const{state}=导航;
返回{
标题:`主屏幕1`,
左校长:(
{
navigation.navigate.goBack();
}}
/>
)
};
}
是否有一种方法可以将此配置置于全局级别—就像defaultNavigationOptions中一样
const defaultNavigationOptions = ({ navigation }) => {
return {
hideStatusBar: false,
headerStyle: {
backgroundColor: Colors.baseColor
},
headerTintColor: Colors.titleColor,
headerBackImage: ( //this has no affect
<Icon
name="ios-arrow-back"
type="Ionicons"
style={{ color: "#D8025E", fontSize: 30, paddingHorizontal: 10 }}
/>
),
headerLeft: (
<Icon
name="menu"
size={30}
style={{ marginStart: 25 }}
color="#FFF"
backgroundColor="#FFF"
onPress={() => navigation.openDrawer()}
/>
)
};
};
constdefaultnavigationoptions=({navigation})=>{
返回{
希德斯塔塔斯巴:错,
头型:{
背景颜色:Colors.baseColor
},
HeaderIntColor:Colors.titleColor,
headerBackImage:(//这没有影响
),
左校长:(
navigation.openDrawer()}
/>
)
};
};
您可以使用导航路径值进行设置
defaultNavigationOptions:({navigation})=>({
标题左侧:()=>{
const{routeName}=navigation.state;
让我来;
如果(routeName==“HomeChild1”){
iconName=“ios箭头后退”;
}else if(routeName==“HomeChild2”){
iconName=“ios箭头后退”;
}
....
返回(
navigation.goBack()}
/>
);
...
您可以使用导航路径值进行设置
defaultNavigationOptions:({navigation})=>({
标题左侧:()=>{
const{routeName}=navigation.state;
让我来;
如果(routeName==“HomeChild1”){
iconName=“ios箭头后退”;
}else if(routeName==“HomeChild2”){
iconName=“ios箭头后退”;
}
....
返回(
navigation.goBack()}
/>
);
...