2016-08-18 79 views
0

我插入一個DrawerLayoutAndroid這樣的:DrawerLayoutAndroid:裁判不工作

<DrawerLayoutAndroid 
    ref={(_drawer) => {this.drawer = _drawer; console.log('Here');}} 
    [..] 
>[...] 

在結果沒有控制檯輸出,並且this.drawer未設置。看起來ref完全被忽略。

作爲另一種方法,我嘗試使用ref爲字符串:

<DrawerLayoutAndroid 
    ref={'drawer'} 
    [..] 
>[...] 

drawerthis.refs沒有容器。

有什麼想法?我使用的反應本地0.30.0

回答

0

我用一個ref<DrawerLayoutAndroid>太,其具有以下配置工作正常:

... 

open =() => { 
    this._drawer.openDrawer(); 
} 

close =() => { 
    this._drawer.closeDrawer(); 
} 

render() { 
    return (
     <DrawerLayoutAndroid 
     ref={ref => this._drawer = ref} 
     drawerPosition={DrawerLayoutAndroid.positions.Left} 
     drawerBackgroundColor="rgba(0,0,0,0.3)" 
     onDrawerOpen={() => this.setState({open: true})} 
     onDrawerClose={() => this.setState({open: false})} 
     drawerWidth={300} 
     drawerLockMode={this.state.lockMode} 
     renderNavigationView={() => this.props.menu} 
     > 
     ... 
     </DrawerLayoutAndroid> 
    ); 
} 

...