Reactjs navigation.navigate('DrawerRopen')在HOC中不起作用 调用导航。从HOC内部导航“DrawerRopen”不会打开抽屉菜单 标题 组件屏幕 当前行为 当我单击headerprops.navigation.navigation'DrawerRopen'中的按钮时,抽屉菜单不会打开 当我单击组件内的按钮时,菜单打开 预期行为 单击标题中的按钮时,菜单应打开。 如何繁殖 世博会网址: 环境
|反应导航| 1.5.8Reactjs navigation.navigate('DrawerRopen')在HOC中不起作用 调用导航。从HOC内部导航“DrawerRopen”不会打开抽屉菜单 标题 组件屏幕 当前行为 当我单击headerprops.navigation.navigation'DrawerRopen'中的按钮时,抽屉菜单不会打开 当我单击组件内的按钮时,菜单打开 预期行为 单击标题中的按钮时,菜单应打开。 如何繁殖 世博会网址: 环境,reactjs,react-native,react-navigation,Reactjs,React Native,React Navigation,|反应导航| 1.5.8 |react native | 0.55.2我查看了您的零食博览会,问题在于这段代码 if (props.navigation.state.index === 0) { props.navigation.navigate('DrawerOpen') } else { props.navigation.navig
|react native | 0.55.2我查看了您的零食博览会,问题在于这段代码
if (props.navigation.state.index === 0) {
props.navigation.navigate('DrawerOpen')
} else {
props.navigation.navigate('DrawerClose')
}
导航不会向状态添加索引,因此其值保持未定义
所以你要做的就是自己打开和关闭抽屉
因此,请删除此代码段以查看其工作情况
onPress={() => props.navigation.navigate('DrawerOpen')}
在2.0版本发布后,您现在可以调用navigation.openDrawer,而不是使用navigation.navigate“DrawerRopen”打开抽屉
其他方法有closeDrawer和toggleDrawer。是的,我实际上已经知道了:。非常感谢。
const createCompWithHeader = (Comp)=>{
return (props)=>{
return (
<View style={{flex:1,marginTop:20}}>
<Header {...props}/>
<View style={{flex:9}}>
<Comp {...props}/>
</View>
</View>
);
}
}
const MyApp = DrawerNavigator({
Home: {
screen: createCompWithHeader(MyHomeScreen),
},
Notifications: {
screen: createCompWithHeader(MyNotificationsScreen),
},
});
class MyHomeScreen extends Component {
static navigationOptions = {
drawerLabel: 'Home'
};
render() {
return (
<View>
<Button
onPress={()=>this.props.navigation.navigate('DrawerOpen')}
title={"Open menu"}
/>
<Button
onPress={() => this.props.navigation.navigate('Notifications')}
title="Go to notifications"
/>
</View>
);
}
}
class MyNotificationsScreen extends Component {
static navigationOptions = {
drawerLabel: 'Notifications'
};
render() {
return (
<View>
<Button
onPress={()=>this.props.navigation.navigate('DrawerOpen')}
title={"Open Menu"}
/>
<Button
onPress={() => this.props.navigation.goBack()}
title="Go home"
/></View>
);
}
}
if (props.navigation.state.index === 0) {
props.navigation.navigate('DrawerOpen')
} else {
props.navigation.navigate('DrawerClose')
}
onPress={() => props.navigation.navigate('DrawerOpen')}