Reactjs 在多个堆栈导航器中常见的所有屏幕放在哪里?-反应导航v5
以下是我的应用导航器的层次结构 ├── appNavigator(底部选项卡导航器)Reactjs 在多个堆栈导航器中常见的所有屏幕放在哪里?-反应导航v5,reactjs,react-native,react-navigation,react-navigation-stack,react-navigation-v5,Reactjs,React Native,React Navigation,React Navigation Stack,React Navigation V5,以下是我的应用导航器的层次结构 ├── appNavigator(底部选项卡导航器) ├── 提要(堆栈导航器) postDetailScreen 页面详细信息屏幕 ProfileDetailScreen …其他屏幕 ├── 通知(堆栈导航器) ProfileDetailScreen 页面详细信息屏幕 PostDetailScreen …其他屏幕 ├── 配置文件(堆栈导航器) ProfileDetailScreen 页面详细信息屏幕 PostDetailScreen …其他屏幕
- ├── 提要(堆栈导航器)
- postDetailScreen
- 页面详细信息屏幕
- ProfileDetailScreen
- …其他屏幕
- ├── 通知(堆栈导航器)
- ProfileDetailScreen
- 页面详细信息屏幕
- PostDetailScreen
- …其他屏幕
- ├── 配置文件(堆栈导航器)
- ProfileDetailScreen
- 页面详细信息屏幕
- PostDetailScreen
- …其他屏幕
由于您有多个相同的屏幕和一些不同的数据(标题、说明等),因此您只能创建一个具有多个屏幕的通用堆栈导航器,然后您可以从其他任何地方调用它 堆栈导航器可以如下所示:
导出默认类StackNavigator扩展React.Component{
render(){
const{stackName1,stackComponent1,stackName2,stackComponent2,stackName3,stackComponent3}=this.props;
//控制台日志(“道具”);
//console.log(stackName1);
//控制台日志(stackComponent1);
返回(
)
}
}
然后从任何屏幕(提要、通知、配置文件)按如下方式调用导航器:
另外,如果您想从stack navigator向每个页面发送额外的参数,可以通过我添加到stack navigator每个屏幕中的initialParams={{key:“value”}
发送这些参数。如果您想从特定屏幕接收此道具,只需通过所述的this.props.route.params.key
访问该键即可
如果堆栈上有更多屏幕,则可以以数组形式传递组件的信息。请告诉我哪些道具或数据将这些组件彼此分离。那么我可以建议你解决这个问题。