React native 在react native navigation v2中使用mergeOptions功能之前,是否有办法读取选项?

React native 在react native navigation v2中使用mergeOptions功能之前,是否有办法读取选项?,react-native,react-native-navigation-v2,React Native,React Native Navigation V2,在使用mergeOptions函数之前,是否有方法读取选项。 我正在尝试添加一个侧菜单,它使用相同的按钮打开和关闭。但是为了处理这种逻辑,我不想使用redux,而是想在合并之前阅读这些选项,这样我就可以简单地执行类似于visible:!pastVisible navigationButtonPressed({ buttonId }) { Navigation.mergeOptions(this.props.componentId, { sideMenu: {

在使用mergeOptions函数之前,是否有方法读取选项。 我正在尝试添加一个侧菜单,它使用相同的按钮打开和关闭。但是为了处理这种逻辑,我不想使用redux,而是想在合并之前阅读这些选项,这样我就可以简单地执行类似于
visible:!pastVisible

navigationButtonPressed({ buttonId }) {
    Navigation.mergeOptions(this.props.componentId, {
        sideMenu: {
            'left': {
                visible: false
            }
        }
    });
    console.log(`Se presiono ${buttonId}`);
}

因此,基本上我想在更改visible选项之前读取它的值。

到目前为止,我只能使用redux来实现这一点

import React, {Component} from 'react';
import {View, Text} from 'react-native';
import { Navigation } from 'react-native-navigation';

import { connect } from 'react-redux';
import { toggleSideMenu } from './../../store/actions/index';

class SideDrawer extends Component {

    constructor(props) {
        super(props);
        Navigation.events().registerComponentDidDisappearListener(({ componentId }) => {
            this.props.toggleSideMenu(false);
        });
    }

    render() {
        return (
            <View>
                <Text>This is the sidedrawer</Text>
            </View>
        );
    }

}

const mapDispatchToProps = dispatch => {
    return {
        toggleSideMenu: (visible) => dispatch(toggleSideMenu(visible))
    };
};
export default connect(null, mapDispatchToProps)(SideDrawer);
如果有更简单的方法来实现这一点,我很高兴知道

navigationButtonPressed({ buttonId }) {
    const visible = !this.props.sideMenu;
    Navigation.mergeOptions(this.props.componentId, {
        sideMenu: {
            'left': {
                visible: visible
            }
        }
    });
    this.props.toggleSideMenu(visible);
}