如何以正确的方式使用Drawer?

时间:2018-09-20 06:33:18

标签: javascript react-native

在App.js页面上制作

const MyApp = createDrawerNavigator({
    Requester: {
        screen: Requester,
    },
    Forgot: {
        screen: Forgot,
    },
});

我想显示一个带有菜单按钮的“欢迎”页面。当用户单击菜单按钮时,应显示一个抽屉菜单。

<View style={{marginTop:30, justifyContent: 'center', backgroundColor: 
    '#095473', paddingLeft: '80%', flexDirection: 'row' }}>

    <TouchableOpacity onPress={() => 
        {this.props.navigation.navigate('DrawerOpen'); } }>
        <Icon
            name="menu"
            size={60}
            color="white"
            //onPress={() => this.props.navigation.navigate("Register")}
         />
    </TouchableOpacity>
</View>

但是抽屉没有打开为什么?请指导

1 个答案:

答案 0 :(得分:1)

我认为您正在使用最近的react-navigation,因为您使用的是createDrawerNavigator函数。根据最新文档,他们用较新的API替换了以前的API。 See here

要打开抽屉,您需要使用this.props.navigation.openDrawer()而不是this.props.navigation.navigate('DrawerOpen')

所以大致的实现是这样的:

<TouchableOpacity onPress={this.props.navigation.openDrawer} />

完整参考如何实现:

https://reactnavigation.org/docs/en/drawer-based-navigation.html