React native 反应本机端菜单不同步

React native 反应本机端菜单不同步,react-native,React Native,我正在使用react native side menu,但我想显示的菜单有一个问题,事实上,当我放置menu属性时,当isOpen设置为false时,该元素也会一直显示。这是我的代码: import React, {Component} from 'react'; import {Dimensions,ListView,ScrollView,StatusBar,Text,TouchableOpacity,View} from 'react-native'; import Icon from 'r

我正在使用react native side menu,但我想显示的菜单有一个问题,事实上,当我放置menu属性时,当isOpen设置为false时,该元素也会一直显示。这是我的代码:

import React, {Component} from 'react';
import {Dimensions,ListView,ScrollView,StatusBar,Text,TouchableOpacity,View} from 'react-native';
import Icon from 'react-native-vector-icons/Ionicons';
import {Colors as JoboColors} from '../styles/General';
import SideMenu from 'react-native-side-menu';
//import SideBar from './SideBar';

export default class JobList extends Component {
    state = {
      isOpen: false,
    };

    handleMenu = () => {
        this.setState({isOpen: !this.state.isOpen});
    }

    updateMenuState = (isOpen) => {
        this.setState({ isOpen});
    }

    render() {
        const myMenu = <UserMenu />;
        return (
            <SideMenu menu={myMenu}
                isOpen={this.state.isOpen}
                onChange={this.updateMenuState}>
                <View>
                    <StatusBar
                        backgroundColor= {JoboColors.orangeC}
                        barStyle="light-content"
                        translucent={false}/>
                    <View style={styles.actionBar}>
                        <TouchableOpacity style={styles.menuIcon} onPress={this.handleMenu}>
                            <Icon name="ios-menu" size={32} style={styles.actionBarIcons}/>
                        </TouchableOpacity>
                        <Icon name="ios-search" size={30} style={styles.actionBarIcons}/>
                    </View>
                    <View style={{backgroundColor: 'white', justifyContent: 'center', flex: 1}}>
                        <Text>This is the content</Text>
                    </View>
                </View>
            </SideMenu>
        );
    }
}

class UserMenu extends Component {
    render() {
        return(
            <ScrollView style={styles.content}>

            </ScrollView>
        );
    }
}

const styles = StyleSheet.create({
  actionBar: {
    height: 50,
    flexDirection: 'row',
    backgroundColor: Colors.orangeA,
    alignItems: "center",
    padding: 15,
  },
  actionBarIcons: {
    color: "white",
  },
  menuIcon: {
    flex: 2,
  },
  content: {
    backgroundColor: 'blue',
  },
});
import React,{Component}来自'React';
从“react native”导入{维度、列表视图、滚动视图、状态栏、文本、TouchableOpacity、视图};
从“反应本机矢量图标/离子图标”导入图标;
从“../styles/General”导入{Colors as JoboColors}颜色;
从“反应本机端菜单”导入侧菜单;
//从“./SideBar”导入侧栏;
导出默认类作业列表扩展组件{
状态={
伊索彭:错,
};
handleMenu=()=>{
this.setState({isOpen:!this.state.isOpen});
}
UpdateCustomate=(等参)=>{
this.setState({isOpen});
}
render(){
常量myMenu=;
返回(
这就是内容
);
}
}
类UserMenu扩展组件{
render(){
返回(
);
}
}
const styles=StyleSheet.create({
操作栏:{
身高:50,
flexDirection:'行',
背景颜色:Colors.orangeA,
对齐项目:“中心”,
填充:15,
},
行动酒吧:{
颜色:“白色”,
},
menuIcon:{
弹性:2,
},
内容:{
背景颜色:“蓝色”,
},
});
这是查看结果,请注意,蓝色块是幻灯片菜单的视图。有人有类似的问题吗

提前谢谢


答案的简化版本-

  render() {
    const myMenu = <UserMenu />;
    return (
      <View style={{flex:1}}>
        <StatusBar backgroundColor="orange" barStyle="light-content" translucent={false}/>
        <View style={styles.actionBar}>
          <TouchableOpacity style={styles.menuIcon} onPress={this.handleMenu}>
            <Text style={styles.actionBarIcons}>menu</Text>
          </TouchableOpacity>
          <Text style={styles.actionBarIcons}>search</Text>
        </View>
        <View style={{flex:1}}>
          <SideMenu menu={myMenu} isOpen={this.state.isOpen} onChange={this.updateMenuState}>
            <View style={{backgroundColor: 'white', justifyContent: 'center', flex: 1}}>
              <Text>This is the content</Text>
            </View>
          </SideMenu>
        </View>
      </View>
    );
  }
render(){
常量myMenu=;
返回(
菜单
搜索
这就是内容
);
}