通过单击包含 StackNavigator 的标题打开抽屉

pen*_*142 2 react-native react-navigation

这是包含我的抽屉的组件

export default class StackInView extends React.Component {
  render() {

    const Stack = StackNavigator({
      DrawerStack: { screen: DrawerInView }
    }, {
        headerMode: 'float',
      });

    return (
      <View style={{ flex: 1 }}>
        <Stack />
      </View>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

以下是我定义按钮的地方。我想在屏幕的 navigationOptions 中定义按钮,因为按钮应该只出现在带有抽屉的屏幕上。但是点击按钮不起作用,你能帮我吗?

... imports ...


export default class DrawerInView extends React.Component {
    static navigationOptions = {
        title: "Yeah?",
        headerRight: <Button title="Menu" onPress={() => {NavigationActions.navigate("DrawerOpen")}}/>
    }

    constructor(props) {
        super(props);
    }

    render() {
        const Drawer = DrawerNavigator({
            "one": {
                screen: () => {
                    return (<TabsInView select="something" />)
                },
            },
            "two": {
                screen: () => {
                    return (<TabsInView select="something else" />)
                },
            }
        })
        return (
            <View style={{ flex: 1 }}>
                <Drawer />
            </View>
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

Abh*_*mar 5

您可以像这样单击按钮打开 DrawerNavigation。

<Button title="Menu" onPress ={ ( ) => this.props.navigation.openDrawer()} />