0

如何解决此错误?我已经尝试过但仍然错误..

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>
4

2 回答 2

1

可能this不在handleMenuPress 的范围内。尝试将 handleMenuPress 更改为箭头函数。

handleMenuPress = () => {
  this.refs['DRAWER'].openDrawer();
}
于 2017-03-21T08:41:35.570 回答
0

您应该在构造函数中绑定方法(这是最好的方法)。

constructor(props){
    super(props)
    this.handleMenuPress = this.handleMenuPress.bind(this)
}
于 2017-03-21T10:37:15.243 回答