2017-03-21 11 views
0

このエラーを解決するにはどうすればよいですか?私が試してみたが、まだエラー..React-Native Undefinedはオブジェクトではありません( 'this.refs。[' DRAWER ']を評価する)

DrawerLayoutAndroid

、これは私のコードの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> 

と、これは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> 

答えて

1

おそらくthisはhandleMenuPressのスコープに含まれていません。 handleMenuPressを矢印機能に変更してみます。

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

私はちょうど今それを試してみましたが、まだエラー –

+0

あなたはhandleMenuPressでコンソール「this.refs」、それは「プロパティを読み取ることができません 『それは – Hariks

+0

エラーで引き出しを持っているかどうかを確認することができますopenDrawer』未定義の、この問題を解決する方法卿? –

0

コンストラクタ内でメソッドをバインドする必要があります(これが最善の方法です)。

constructor(props){ 
    super(props) 
    this.handleMenuPress = this.handleMenuPress.bind(this) 
} 
関連する問題