所有组件的通用抽屉布局都是原生的

时间:2016-11-29 15:16:34

标签: reactjs react-native

我试图为所有组件设置一个共同的抽屉布局,所以我所做的就像drawerlayout作为一个组件,其中包含所有链接,其中props.children在DrawerLayoutAndroid中,并且它正在渲染初始页面,但是在这个组件中,我无法访问this.props.navigator

home.js

<DrawerLayout>
    <View style={styles.container}>
      <Text style={styles.title}> Welcome User </Text>
      <Text style={styles.text}> Your new token is {this.state.accessToken} </Text>
    </View>
  </DrawerLayout>

在DrawerLayout.js

  render() {
var navigationView = (
  <View style={{flex: 1, backgroundColor: '#fff'}}>
    <TouchableHighlight onPress={this.redirect.bind(this, 'qr_code')} style={styles.button}>
      <Text style={styles.buttonText}>
        Scan code
      </Text>
    </TouchableHighlight>
    <TouchableHighlight style={styles.button}>
      <Text style={styles.buttonText}>
        Logout
      </Text>
    </TouchableHighlight>
  </View>
);
//We check to se if there is a flash message. It will be passed in user update.
let flashMessage;
if (this.props.flash) {
   flashMessage = <Text style={styles.flash}>{this.props.flash}</Text>
} else {
   flashMessage = null
}
return(
  <DrawerLayoutAndroid
    drawerWidth={300}
    drawerPosition={DrawerLayoutAndroid.positions.Left}
    renderNavigationView={() => navigationView}>
      {this.props.children}
  </DrawerLayoutAndroid>
);

} }

有一个重定向函数,我尝试导航到其他组件,this.props.navigator.push不是函数

0 个答案:

没有答案