React native 我在抽屉导航中使用堆栈导航,当单击抽屉导航中的抽屉项时,它将添加一个新路由器
这是顶层抽屉导航React native 我在抽屉导航中使用堆栈导航,当单击抽屉导航中的抽屉项时,它将添加一个新路由器,react-native,react-redux,react-navigation,React Native,React Redux,React Navigation,这是顶层抽屉导航 import React ,{Component} from 'react' import { addNavigationHelpers } from 'react-navigation'; import {DrawerNavigator} from 'react-navigation' import {connect} from 'react-redux'
import React ,{Component} from 'react'
import { addNavigationHelpers } from 'react-navigation';
import {DrawerNavigator} from 'react-navigation'
import {connect} from 'react-redux'
import DevicesPage from '../page/DevicesPage'
import HomeStackNavigation from './HomeStackNavigation'
import ServerPage from '../page/ServerPage'
import DrawerPage from '../page/DrawerPage'
const {width,height} = Dimensions.get('window');
const mapStateToProps = (state)=>({
drawerNav : state.DrawerNavReducer
});
class DrawerNavigation extends Component{
render(){
return(
<Drawer
navigation={addNavigationHelpers({
dispatch: this.props.dispatch,
state : this.props.drawerNav
})}
/>
);
}
}
export const Drawer = DrawerNavigator({
Home:{
screen : HomeStackNavigation
},
Devices:{
screen : DevicesPage
},
Server:{
screen : ServerPage
}
},{
initialRouteName:'Home',
drawerWidth: width - 100,
drawerPosition: 'left',
contentComponent: props =><DrawerPage {...props}/>
})
export default connect(mapStateToProps)(DrawerNavigation);
import React,{Component}来自“React”
从“react navigation”导入{addNavigationHelpers};
从“反应导航”导入{DrawerNavigator}
从“react redux”导入{connect}
从“../page/DevicesPage”导入设备页面
从“./HomeStackNavigation”导入HomeStackNavigation
从“../page/ServerPage”导入ServerPage
从“../page/DrawerPage”导入抽屉页
const{width,height}=Dimensions.get('window');
常量mapStateToProps=(状态)=>({
paurernav:state.paurernavreducer
});
类DrawerNavigation扩展了组件{
render(){
报税表(
);
}
}
导出常数抽屉=DrawerNavigator({
主页:{
屏幕:主页导航
},
设备:{
屏幕:设备页面
},
服务器:{
屏幕:服务器页面
}
},{
initialRouteName:“主页”,
抽屉宽度:宽度-100,
抽屉位置:'左',
contentComponent:props=>
})
导出默认连接(MapStateTops)(抽屉激活);
这是我的堆栈导航器,它是抽屉导航器的第一项
import React,{Component} from 'react';
import {
View
} from 'react-native'
import {StackNavigator} from 'react-navigation';
import {addNavigationHelpers } from 'react-navigation';
import {connect} from 'react-redux';
import HomePage from '../page/HomePage'
class HomeStackNavigation extends Component{
render(){
return(
<StackNavigation navigation={
addNavigationHelpers({
dispatch: this.props.dispatch,
state : this.props.nav,
})}/>);
}
}
export const StackNavigation = StackNavigator({
Home:{
screen:HomePage
}
},{
initialRouteName : 'Home',
initialRouteParams : {
chartType : 'BarChart'
}
})
const mapStateToProps = (state)=>{
return({
nav : state.HomeStackNavReducer,
});
}
export default connect(mapStateToProps)(test);
import React,{Component}来自'React';
进口{
看法
}从“反应本机”
从“react navigation”导入{StackNavigator};
从“react navigation”导入{addNavigationHelpers};
从'react redux'导入{connect};
从“../page/HomePage”导入主页
类导航扩展组件{
render(){
返回(
);
}
}
export const StackNavigation=StackNavigator({
主页:{
屏幕:主页
}
},{
initialRouteName:“主页”,
初始路线图:{
图表类型:“条形图”
}
})
常量mapStateToProps=(状态)=>{
返回({
导航:state.HomeStackNavReducer,
});
}
导出默认连接(MapStateTops)(测试);
当我第一次进入测试视图时,它是一个密钥为“init”的路由器。当我打开抽屉时,单击第一项。它将添加一个新的路由器。最后它将出现一个红色屏幕。这是因为我需要初始化路由器中的一些参数,而不是新路由器。你能帮我吗。这是第一次进入页面 当我再次进入时,有两个路由器
你有没有想出一个解决方案@AlexDufresne?