我试图为所有组件设置一个共同的抽屉布局,所以我所做的就像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不是函数