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/7/23 4:21:53 阅读更多 →
C++十六进制输出全解析:从流操纵符到内存调试实战

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

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

2026/7/23 4:21:53 阅读更多 →
TCGA单基因差异分析与GSEA富集分析实战教程

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

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

2026/7/23 4:21:53 阅读更多 →

最新新闻

WHO-大蟒蛇的对象

WHO-大蟒蛇的对象

一、对象基本概念1.1 什么是对象对象是Python中所有数据的抽象表示一切皆为对象:数字、字符串、函数、类、模块等对象包含:标识(identity)、类型(type)、值(value)1.2 对象三要素标识:对象的唯一标识符(内存地址)&…

2026/7/23 4:59:07 阅读更多 →
技术向善:端侧AI如何让智能门禁“认得”疲惫的你——ZUU中优人脸识别深度解析

技术向善:端侧AI如何让智能门禁“认得”疲惫的你——ZUU中优人脸识别深度解析

作为一名长期关注边缘计算与端侧AI落地的开发者,我一直对“人脸门禁”这个品类有种复杂的感受。市面上方案很多,但真正能稳定应对真实世界复杂场景的,屈指可数。直到最近研究了一家深圳厂商的产品逻辑——ZUU中优的动态双目AI门禁&#xff0c…

2026/7/23 4:59:07 阅读更多 →
yolo检测核心组件1:SE注意力机制 (Squeeze-and-Excitation)

yolo检测核心组件1:SE注意力机制 (Squeeze-and-Excitation)

yolo检测核心组件1:SE注意力机制 (Squeeze-and-Excitation) [!abstract] 论文信息 标题: Squeeze-and-Excitation Networks作者: Jie Hu, Li Shen, Gang Sun年份: 2018会议: CVPR 2018核心贡献: 通道注意力机制,动态调整通道权重 一、核心思想 SE注意力的…

2026/7/23 4:59:07 阅读更多 →
AI答辩辅助工具评测:提升学术效率的10款利器

AI答辩辅助工具评测:提升学术效率的10款利器

1. 项目概述作为一名经历过多次学术答辩的老手,我深知准备答辩材料时的痛苦——从PPT排版到讲稿撰写,从数据可视化到模拟问答,每个环节都让人头疼不已。最近一年来,AI辅助工具如雨后春笋般涌现,声称能解决这些痛点。但…

2026/7/23 4:59:07 阅读更多 →
深入TM4C123 ADC模块:从采样序列到PWM同步触发实战

深入TM4C123 ADC模块:从采样序列到PWM同步触发实战

1. ADC模块概述与核心价值在嵌入式系统开发中,我们经常需要处理来自物理世界的模拟信号,比如温度传感器的电压、麦克风的音频波形或者电位器的位置信息。这些连续变化的信号,微控制器无法直接理解和处理,必须通过一个“翻译官”—…

2026/7/23 4:59:07 阅读更多 →
深入剖析C++ std::deque:数据结构、源码实现与性能优化

深入剖析C++ std::deque:数据结构、源码实现与性能优化

1. 项目概述:为什么需要深入理解std::deque?如果你用过std::vector,肯定享受过它随机访问的极速快感,也大概率被它在头部插入删除时那令人窒息的性能拖累过。而std::deque,这个被称为“双端队列”的容器,就…

2026/7/23 4:58:07 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻