单击导航栏按钮,抽屉未打开。下面是我用来按下按钮的代码
if (event.type === 'NavBarButtonPress') {
if (event.id === 'sideDrawerToggle') {
this.props.navigator.toggleDrawer({
side: 'left',
animated: true,
});
}
}这是放好的抽屉
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'
}
}
});这是我的抽屉的样子
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;通过大量的搜索,我发现给抽屉一个固定的宽度就解决了这个问题。但这并不能解决我的问题。我不知道代码出了什么问题,它工作得很好。
发布于 2018-07-25 16:05:07
您可以简单地使用
this.props.navigation.openDrawer();在你的屏幕上。
请通过以下链接查看官方文档和示例
https://reactnavigation.org/docs/en/drawer-based-navigation.html
https://reactnavigation.org/blog/#drawer-routes-have-been-replaced-with-actions
发布于 2018-01-18 04:18:34
你可以用id: 'sideMenu'在你的navigatorButtons中指定一个内置按钮,它会为你变魔术。即。
...
navigatorButtons: {
leftButtons: [
{
id: "sideMenu"
}
]
},
...发布于 2018-01-06 04:03:05
我不认为这是设置抽屉导航的正确方式。在这里查看官方文档:https://reactnavigation.org/docs/navigators/drawer。它显示了抽屉将导航到的每个组件都是您在应用程序的主组件中定义和设置的场景。
我也推荐使用NativeBase.io https://docs.nativebase.io/Components.html#Drawer的抽屉。这让你在iOS和安卓上都有更好的外观和感觉,它看起来更原生。
https://stackoverflow.com/questions/48120336
复制相似问题