react-native-navigation的迁移库

SideMenuScreen.js 1.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. const React = require('react');
  2. const { Component } = require('react');
  3. const { View, Text, Button } = require('react-native');
  4. const { Navigation } = require('react-native-navigation');
  5. const testIDs = require('../testIDs');
  6. class SideMenuScreen extends Component {
  7. render() {
  8. const testID = this.props.side === 'left' ? testIDs.HIDE_LEFT_SIDE_MENU_BUTTON : testIDs.HIDE_RIGHT_SIDE_MENU_BUTTON;
  9. return (
  10. <View style={styles.root} testID={this.props.testID}>
  11. <Text testID={testIDs.SIDE_BAR}>Side Bar</Text>
  12. <Text style={styles.h1}>{`This is a ${this.props.side} side menu screen`}</Text>
  13. <Button title='Hide Side Menu' testID={testID} onPress={() => this.hideSideMenu()} />
  14. </View>
  15. );
  16. }
  17. hideSideMenu() {
  18. Navigation.setOptions(this.props.componentId, {
  19. sideMenu: {
  20. [this.props.side]: {
  21. visible: false
  22. }
  23. }
  24. });
  25. }
  26. }
  27. module.exports = SideMenuScreen;
  28. const styles = {
  29. root: {
  30. flexGrow: 1,
  31. justifyContent: 'center',
  32. alignItems: 'center',
  33. backgroundColor: '#f5fcff'
  34. }
  35. };