2017-03-21 1 views
0

Comment résoudre cette erreur? Je l'ai essayé, mais encore une erreur ..React-Native Undefined n'est pas un objet (en évaluant 'this.refs. [' DRAWER '])

DrawerLayoutAndroid

et voici mon code root.js:

<DrawerLayoutAndroid 
    drawerWidth={250} 
    drawerPosition={DrawerLayoutAndroid.positions.Left} 
    renderNavigationView={() => navigationView} 
    ref={'DRAWER'}> 
     <Navigator 
     renderScene={this.renderScene} 
     initialRoute={{component: Home}} 
     ref={(nav) => { this.appNav = nav; }} /> 
    </DrawerLayoutAndroid> 

et voici mon code dans Home.js:

handleMenuPress() { 
this.refs['DRAWER'].openDrawer(); 

}

<Header searchBar rounded> 
    <Item> 
     <Icon name="menu" onPress={this.handleMenuPress}/> 
     <Input placeholder="Cari Rumah Sakit" /> 
     <Icon active name="search" /> 
     </Item> 
     <Button transparent> 
      <Text>Search</Text> 
     </Button> 
</Header> 

Répondre

1

Probablement this n'est pas dans la portée de handleMenuPress. Essayez de modifier handleMenuPress en fonction de la flèche.

handleMenuPress =() => { 
    this.refs['DRAWER'].openDrawer(); 
} 
+0

Je viens maintenant essayé et encore une erreur –

+0

peux vous « » this.refs console à handleMenuPress, voir si elle a tiroir il erreur – Hariks

+0

« ne peut pas lire la propriété « openDrawer » undefined, comment résoudre ce problème Monsieur ? –

0

Vous devez lier la méthode dans le constructeur (c'est le meilleur moyen).

constructor(props){ 
    super(props) 
    this.handleMenuPress = this.handleMenuPress.bind(this) 
}