【发布时间】:2018-02-02 07:03:53
【问题描述】:
我正在制作一个应用程序,其中我使用了 Drawer Navigator 并在其中嵌套了一个 Stack Navigator。抽屉包含屏幕首页、产品、简介等。 当我在主屏幕内使用堆栈导航器切换到 3 个不同的屏幕时 产品->项目描述。 问题 1:如果我通过 Home 转到 Product 或 Item Description 。如果我在 products 或 ItemDescription 中打开抽屉,我无法在从抽屉中单击 HOME 时返回主页。而单击抽屉菜单上的其他选项,我可以切换到差异屏幕。
问题 2:我有一个来自 'navbar-native' 的导航栏,我在每个组件中都使用了它,即 HOME 、 PRODUCTS 、 ItemDescription 、 Cart 等。你能帮我与 redux 链接,以便我可以在点击时打开不同的屏幕在其图标即购物车和搜索屏幕上。
抽屉代码:
const RootDrawer = DrawerNavigator({
Home: {
screen: HomeScreen,
style :{backgroundColor:'blue'},
},
Profile: {
screen: ProfileScreen,
},
Products: {
screen: Products,
},
Cart: {
screen: Cart,
},
});
export default RootDrawer;
主屏幕代码:
class Home extends React.Component {
constructor(props){
super(props) ;
this.openUp = this.openUp.bind(this)
}
openUp(){
this.props.navigation.navigate('DrawerOpen');
// open drawer passed to all components to open Drawer from hamburger
//iconpresent at NAVbar
}
render() {
return (
<SimpleApp key={1} screenProps={this.openUp} />
);
}
}
const SimpleApp = StackNavigator(
{
drwlyout: { screen: DrawerLayoutMain , navigationOptions:({navigation}) => ({ header: false } ) },
prodlyout: { screen: Products , navigationOptions:({navigation}) => ({ header: false })},
itemdsclyout: { screen: ItemDescription , navigationOptions:({navigation}) => ({ header: false })},
navbarlayout: { screen: NavBarComponent , navigationOptions:({navigation}) => ({ header: false })},
} );
function mapDispatchtoProps(dispatch){
return bindActionCreators({getDataFirebase:getDataFirebase},dispatch);
}
export default connect(null,mapDispatchtoProps)(Home);
【问题讨论】:
标签: android react-native navigation react-redux react-navigation