首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未打开react-native-navigation抽屉

未打开react-native-navigation抽屉
EN

Stack Overflow用户
提问于 2018-01-06 03:48:06
回答 4查看 7.6K关注 0票数 4

单击导航栏按钮,抽屉未打开。下面是我用来按下按钮的代码

代码语言:javascript
复制
if (event.type === 'NavBarButtonPress') {
        if (event.id === 'sideDrawerToggle') {
            this.props.navigator.toggleDrawer({
                side: 'left',
                animated: true,
            });
        }
    }

这是放好的抽屉

代码语言:javascript
复制
Navigation.startTabBasedApp({
        tabs: [
            {
                label: 'Find Place',
                screen: 'places.FindPlace',
                title: 'Find Place', 
                icon: source[0],
                navigatorButtons: {
                    leftButtons: [
                        {
                            icon : source[2],
                            title : 'Menu',
                            id: 'sideDrawerToggle'
                        }
                    ]
                }
            },
            {
                label: 'Share Place', 
                screen: 'places.SharePlace', 
                title: 'Share Place', 
                icon: source[1],
                navigatorButtons: {
                    leftButtons: [
                        {
                            icon: source[2],
                            title: 'Menu',
                            id: 'sideDrawerToggle'
                        }
                    ]
                }
            }
        ],
        drawer: {
            left: { 
                screen: 'places.SideDrawer'
            }
        }
    });

这是我的抽屉的样子

代码语言:javascript
复制
    import React, {Component} from 'react';
import {View, Text, Dimensions} from 'react-native';


class SideDrawer extends Component {
    render() {
        return(
            <View style={[
                styles.container,
                {width: Dimensions.get('window').width * 0.8}
            ]}>
                <Text>Drawer</Text>
            </View>
        );
    }
}

const styles = {
    container: {
        backgroundColor : 'white',
        paddingTop: 22,
        flex: 1
    }
};


export default SideDrawer;

通过大量的搜索,我发现给抽屉一个固定的宽度就解决了这个问题。但这并不能解决我的问题。我不知道代码出了什么问题,它工作得很好。

EN

回答 4

Stack Overflow用户

发布于 2018-07-25 16:05:07

您可以简单地使用

代码语言:javascript
复制
this.props.navigation.openDrawer();

在你的屏幕上。

请通过以下链接查看官方文档和示例

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

https://reactnavigation.org/blog/#drawer-routes-have-been-replaced-with-actions

票数 5
EN

Stack Overflow用户

发布于 2018-01-18 04:18:34

你可以用id: 'sideMenu'在你的navigatorButtons中指定一个内置按钮,它会为你变魔术。即。

代码语言:javascript
复制
...
navigatorButtons: {
  leftButtons: [
    {
      id: "sideMenu"
    }
  ]
},
...
票数 2
EN

Stack Overflow用户

发布于 2018-01-06 04:03:05

我不认为这是设置抽屉导航的正确方式。在这里查看官方文档:https://reactnavigation.org/docs/navigators/drawer。它显示了抽屉将导航到的每个组件都是您在应用程序的主组件中定义和设置的场景。

我也推荐使用NativeBase.io https://docs.nativebase.io/Components.html#Drawer的抽屉。这让你在iOS和安卓上都有更好的外观和感觉,它看起来更原生。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48120336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档