1- const React = require ( 'react' ) ;
2- const SideMenu = require ( 'react-native-side-menu' ) ;
3- const Menu = require ( './Menu' ) ;
4-
5- const {
1+ import React , { Component } from 'react' ;
2+ import {
63 StyleSheet ,
74 Text ,
85 View ,
96 Image ,
107 TouchableOpacity ,
11- } = require ( 'react-native' ) ;
12- const { Component } = React ;
8+ } from 'react-native' ;
9+ import SideMenu from 'react-native-side-menu' ;
10+ import Menu from './Menu' ;
11+
12+ const image = require ( './assets/menu.png' ) ;
1313
1414const styles = StyleSheet . create ( {
1515 button : {
@@ -40,29 +40,17 @@ const styles = StyleSheet.create({
4040 } ,
4141} ) ;
4242
43- class Button extends Component {
44- handlePress ( e ) {
45- if ( this . props . onPress ) {
46- this . props . onPress ( e ) ;
47- }
48- }
43+ export default class Basic extends Component {
44+ constructor ( props ) {
45+ super ( props ) ;
4946
50- render ( ) {
51- return (
52- < TouchableOpacity
53- onPress = { this . handlePress . bind ( this ) }
54- style = { this . props . style } >
55- < Text > { this . props . children } </ Text >
56- </ TouchableOpacity >
57- ) ;
58- }
59- }
47+ this . toggle = this . toggle . bind ( this ) ;
6048
61- module . exports = class Basic extends Component {
62- state = {
63- isOpen : false ,
64- selectedItem : 'About' ,
65- } ;
49+ this . state = {
50+ isOpen : false ,
51+ selectedItem : 'About' ,
52+ } ;
53+ }
6654
6755 toggle ( ) {
6856 this . setState ( {
@@ -71,15 +59,14 @@ module.exports = class Basic extends Component {
7159 }
7260
7361 updateMenuState ( isOpen ) {
74- this . setState ( { isOpen, } ) ;
62+ this . setState ( { isOpen } ) ;
7563 }
7664
77- onMenuItemSelected = ( item ) => {
65+ onMenuItemSelected = item =>
7866 this . setState ( {
7967 isOpen : false ,
8068 selectedItem : item ,
8169 } ) ;
82- }
8370
8471 render ( ) {
8572 const menu = < Menu onItemSelected = { this . onMenuItemSelected } /> ;
@@ -88,7 +75,8 @@ module.exports = class Basic extends Component {
8875 < SideMenu
8976 menu = { menu }
9077 isOpen = { this . state . isOpen }
91- onChange = { ( isOpen ) => this . updateMenuState ( isOpen ) } >
78+ onChange = { isOpen => this . updateMenuState ( isOpen ) }
79+ >
9280 < View style = { styles . container } >
9381 < Text style = { styles . welcome } >
9482 Welcome to React Native!
@@ -104,11 +92,16 @@ module.exports = class Basic extends Component {
10492 Current selected menu item is: { this . state . selectedItem }
10593 </ Text >
10694 </ View >
107- < Button style = { styles . button } onPress = { ( ) => this . toggle ( ) } >
95+ < TouchableOpacity
96+ onPress = { this . toggle }
97+ style = { styles . button }
98+ >
10899 < Image
109- source = { require ( './assets/menu.png' ) } style = { { width : 32 , height : 32 } } />
110- </ Button >
100+ source = { image }
101+ style = { { width : 32 , height : 32 } }
102+ />
103+ </ TouchableOpacity >
111104 </ SideMenu >
112105 ) ;
113106 }
114- } ;
107+ }
0 commit comments