【React Native】路由和导航

  • RN 中的路由是通过 React Navigation 组件来完成的

Stack

  • 路由导航
  • RN 中默认没有类似浏览器的 history 对象
  • 在 RN 中路由跳转之前,需要先将路由声明在 Stack 中
  • <Stack.Navigator initialRouteName='Details'> <Stack.Screen name='Details' /> </Stack.Navigator>
  • navigation.navigate('Details')
  • Stack.Navigator 作用于整个导航(包含多个屏幕)
    • initialRouteName 初始化路由,即默认加载的路由
    • headerMode 声明屏幕头部信息
    • screenOptions
  • Stack.Screen 仅仅作用于当前屏幕
    • options

ButtomTab

  • 底部选项卡导航
  • 支持设置导航icon图标

Drawer

  • 抽屉式路由导航
  • 支持设置导航icon图标

MaterialTopTab

  • 支持手动滑动效果的选项卡导航

路由导航嵌套

  • 在一个导航的内部,渲染另一个导航

路由传参

  • 传递参数:navigation.navigate('路由名称', { KEY: 123 })
  • 接收参数
    • 类组件:this.props.route.params.KEY
    • 函数组件:route.params.KEY
相关推荐
一只月月鸟呀29 分钟前
Vue 过滤器 filter(s) 的使用
javascript·vue.js·ecmascript
秋月华星2 小时前
【flutter】TextField输入框工具栏文本为英文解决(不用安装插件版本
前端·javascript·flutter
—Qeyser3 小时前
用Deepseek写一个 HTML 和 JavaScript 实现一个简单的飞机游戏
javascript·游戏·html
青红光硫化黑3 小时前
React基础之React.memo
前端·javascript·react.js
GDAL4 小时前
better-sqlite3之exec方法
javascript·sqlite
匹马夕阳5 小时前
基于Canvas和和原生JS实现俄罗斯方块小游戏
javascript·canva可画
m0_616188495 小时前
Vue3 中 Computed 用法
前端·javascript·vue.js
六个点5 小时前
图片懒加载与预加载的实现
前端·javascript·面试
weixin_460783875 小时前
Flutter解决TabBar顶部页面切换导致页面重载问题
android·javascript·flutter
Patrick_Wilson6 小时前
🔥【全网首篇】30分钟带你从0到1搭建基于Lynx的跨端开发环境
前端·react.js·前端框架