React Navigation 核心使用(Stack/Tab/Drawer)
React Navigation 是 React Native 中最主流的导航库。实际开发中80% 以上的场景主要围绕三种导航器Stack Navigator页面栈Bottom Tab Navigator底部标签栏Drawer Navigator侧边抽屉菜单1. 安装React Navigation 7.xnpm install react-navigation/native npm install react-native-screens react-native-safe-area-contextStacknpm install react-navigation/native-stackBottom Tabsnpm install react-navigation/bottom-tabsDrawernpm install react-navigation/drawer2. NavigationContainer所有导航都必须放在 NavigationContainer 中import { NavigationContainer } from react-navigation/native; export default function App() { return ( NavigationContainer {/* Navigator */} /NavigationContainer ); }3. Stack Navigator最常用。适用于首页 ↓ 详情页 ↓ 详情页 ↓ 详情页像浏览器历史记录一样压栈。创建import { createNativeStackNavigator } from react-navigation/native-stack; const Stack createNativeStackNavigator();页面function HomeScreen() { return null; } function DetailScreen() { return null; }注册路由Stack.Navigator Stack.Screen nameHome component{HomeScreen} / Stack.Screen nameDetail component{DetailScreen} / /Stack.Navigator页面跳转navigation.navigate(Detail);返回navigation.goBack();传递参数发送navigation.navigate(Detail, { id: 1001, });接收function DetailScreen({ route }) { const { id } route.params; return null; }替换页面登录场景常见navigation.replace(Home);效果Login ↓ replace Home返回键不会回到 Login。重置导航栈退出登录navigation.reset({ index: 0, routes: [{ name: Login }], });4. Bottom Tab Navigator适用于首页 消息 发现 我的创建import { createBottomTabNavigator } from react-navigation/bottom-tabs; const Tab createBottomTabNavigator();注册Tab.Navigator Tab.Screen nameHome component{HomeScreen} / Tab.Screen nameProfile component{ProfileScreen} / /Tab.Navigator效果------------------ 首页 我的 ------------------设置图标通常搭配npm install react-native-vector-iconsTab.Screen nameHome component{HomeScreen} options{{ tabBarIcon: ({ color, size }) ( Icon namehome color{color} size{size} / ), }} /Tab 配置隐藏标题screenOptions{{ headerShown: false }}设置激活颜色screenOptions{{ tabBarActiveTintColor: #007AFF, }}5. Drawer Navigator适用于☰ 菜单 ├ 首页 ├ 用户中心 ├ 设置 └ 关于创建import { createDrawerNavigator } from react-navigation/drawer; const Drawer createDrawerNavigator();注册Drawer.Navigator Drawer.Screen nameHome component{HomeScreen} / Drawer.Screen nameSettings component{SettingsScreen} / /Drawer.Navigator打开 Drawernavigation.openDrawer();关闭navigation.closeDrawer();切换navigation.toggleDrawer();6. 组合导航最重要实际项目不会单独使用。典型结构App │ └─ Stack │ ├─ Login │ └─ MainTabs │ ├─ Home ├─ Message └─ MineTab 放 Stack 中function MainTabs() { return ( Tab.Navigator Tab.Screen nameHome component{HomeScreen} / Tab.Screen nameMine component{MineScreen} / /Tab.Navigator ); }Stack.Navigator Stack.Screen nameLogin component{LoginScreen} / Stack.Screen nameMain component{MainTabs} / /Stack.Navigator7. TypeScript 类型定义推荐项目一开始就配置。export type RootStackParamList { Home: undefined; Detail: { id: number; }; };创建const Stack createNativeStackNavigatorRootStackParamList();跳转获得类型提示navigation.navigate(Detail, { id: 100, });错误参数会直接报错。8. 实际项目推荐结构src ├── navigation │ ├── RootNavigator.tsx │ ├── StackNavigator.tsx │ ├── TabNavigator.tsx │ └── DrawerNavigator.tsx │ ├── screens │ ├── Home │ ├── Login │ ├── Detail │ └── Profile │ └── App.tsx常见组合模式NavigationContainer │ ▼ Stack ├── Login ├── Register └── Tabs ├── Home ├── Message └── Mine这是目前 React Native 商业项目中最常见、最稳定的导航架构。

相关新闻

近期AI检查量化表达,先让交易规则说得清

近期AI检查量化表达,先让交易规则说得清

手工交易者进入量化学习时,经常会遇到一种微妙的困难:脑子里有规则,写出来却像一段经验笔记,离 Python 需要的条件和步骤还有距离。AI 协作可以从这里开始,它不必马上生成代码,而是先帮助读者把表达整理到更…

2026/10/17 2:57:36 阅读更多 →
C++十六进制输出全解析:从流操纵符到内存调试实战

C++十六进制输出全解析:从流操纵符到内存调试实战

1. 项目概述:为什么需要关注十六进制输出?在C的日常开发中,尤其是涉及底层系统编程、硬件交互、网络协议分析、内存调试或安全研究时,我们经常需要与原始数据打交道。这些数据在内存或文件中,本质上就是一串字节。用我…

2026/10/6 1:14:07 阅读更多 →
TCGA单基因差异分析与GSEA富集分析实战教程

TCGA单基因差异分析与GSEA富集分析实战教程

1. TCGA单基因差异分析与富集分析实战指南在肿瘤基因组学研究领域,TCGA数据库已经成为不可或缺的资源宝库。当我们通过差异分析筛选出关键基因后,如何系统性地解读这些基因的生物学功能?GSEA-GO和KEGG富集分析提供了从宏观层面理解基因集合功…

2026/10/17 4:05:40 阅读更多 →

最新新闻

2022数模B题无人机纯方位无源定位:MATLAB代码复现与避坑指南

2022数模B题无人机纯方位无源定位:MATLAB代码复现与避坑指南

简介:本资源为2022年全国大学生数学建模竞赛本科组B题的完整论文PDF,聚焦无人机纯方位无源定位问题,适合备战数模竞赛的本科生及指导教师参考。论文围绕圆形与锥形两种编队,系统建立被动接收信号无人机的定位模型与位置调整模型&a…

2026/10/18 0:27:15 阅读更多 →
AIGC 时代从 0 理解并写好 skills:SKILL.md 与 description 的 Agent 落地指南

AIGC 时代从 0 理解并写好 skills:SKILL.md 与 description 的 Agent 落地指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:27:15 阅读更多 →
AI 教程系列-TUI 应用开发教程01:TUI 概述与 TaoToken 统一 Key 接入准备

AI 教程系列-TUI 应用开发教程01:TUI 概述与 TaoToken 统一 Key 接入准备

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:27:15 阅读更多 →
基于NS-3的5G车联网V2X仿真平台搭建与环境配置详解

基于NS-3的5G车联网V2X仿真平台搭建与环境配置详解

简介:面向5G车联网与V2X研究者的NS-3仿真平台搭建源码包,聚焦智能交通、自动驾驶场景下的网络仿真环境构建,帮助读者从零完成依赖准备、NS-3下载、构建编译与测试运行,同时理解PyViz、NetAnim等可视化工具的应用思路。压缩包仅8KB…

2026/10/18 0:27:15 阅读更多 →
企业档案管理系统源码实战:从部署到上线的避坑指南

企业档案管理系统源码实战:从部署到上线的避坑指南

简介:一份基于SpringBootVueMySQL的企业档案管理系统可运行源码包,面向Java后端开发者、软件专业学生及企业信息化建设者,用于解决档案数据分散、借阅流程不透明、检索效率低等管理难题。系统内置档案分类、权限管理、生命周期追踪、电子上传…

2026/10/18 0:27:15 阅读更多 →
115转存报错‘目标文件夹不存在’的UI参数截断真相

115转存报错‘目标文件夹不存在’的UI参数截断真相

简介:本资源是一款面向115网盘高频用户的轻量级第三方工具脚本,专为解决原版转存助手UI陈旧、转存中断、提取失败等实际痛点而优化。由社区开发者魔改升级至3.9.1版本,重点重构用户界面交互逻辑,修复全部已知转存与提取功能缺陷&a…

2026/10/18 0:26:13 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →