【发布时间】:2018-08-20 08:18:07
【问题描述】:
我有一个使用反应导航的反应原生应用程序。我的应用程序中有以下结构。
class MainContainer extends Component {
render() {
return (
<View style={{ flex: 1 }}>
<Header
backgroundColor={appcolors.primaryColor}
leftComponent={<TouchableOpacity onPress={() => this.props.navigation.toggleDrawer() }><Feather name='align-justify' size={24} color='white' /></TouchableOpacity>}
centerComponent={{ text: this.props.headerTitle , style: { color: 'white' } }}
/>
<MainDrawerNavigation/>
</View>
);
}
};
而<MainDrawerNavigation/> 是一个反应导航组件,如下所示。
MainDrawerNavigation = createDrawerNavigator({
XScreen: {
screen: XScreen,
},
YScreen: {
screen: YScreen,
},
ZScreen: {
screen: ZScreen,
},
},{
}
});
尝试从MainContainer 调用this.props.navigation.toggleDrawer() 时出错。然后出于测试目的,我向XScreen 添加了一个按钮,并尝试切换抽屉并成功。所以我想知道有没有办法将子导航道具传递给超级视图。所以我可以从MainContainer 调用this.props.navigation.toggleDrawer() 方法和控制抽屉。或任何可用于解决此问题的导航实践。
PS:我得到的错误是_this2.props.navigation.toggleDrawer is not a function
【问题讨论】:
标签: react-native react-navigation drawer