Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs navigation.navigate('DrawerRopen')在HOC中不起作用 调用导航。从HOC内部导航“DrawerRopen”不会打开抽屉菜单 标题 组件屏幕 当前行为 当我单击headerprops.navigation.navigation'DrawerRopen'中的按钮时,抽屉菜单不会打开 当我单击组件内的按钮时,菜单打开 预期行为 单击标题中的按钮时,菜单应打开。 如何繁殖 世博会网址: 环境_Reactjs_React Native_React Navigation - Fatal编程技术网

Reactjs navigation.navigate('DrawerRopen')在HOC中不起作用 调用导航。从HOC内部导航“DrawerRopen”不会打开抽屉菜单 标题 组件屏幕 当前行为 当我单击headerprops.navigation.navigation'DrawerRopen'中的按钮时,抽屉菜单不会打开 当我单击组件内的按钮时,菜单打开 预期行为 单击标题中的按钮时,菜单应打开。 如何繁殖 世博会网址: 环境

Reactjs 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

|反应导航| 1.5.8


|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')}