【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
相关推荐
烬头88212 分钟前
React Native鸿蒙跨平台采用了函数式组件的形式,通过 props 接收分类数据,使用 TouchableOpacity实现了点击交互效果
javascript·react native·react.js·ecmascript·交互·harmonyos
Amumu121382 分钟前
Vuex介绍
前端·javascript·vue.js
2601_9498095915 分钟前
flutter_for_openharmony家庭相册app实战+相册详情实现
javascript·flutter·ajax
qq_1777673719 分钟前
React Native鸿蒙跨平台通过Animated.Value.interpolate实现滚动距离到动画属性的映射
javascript·react native·react.js·harmonyos
2601_9498333929 分钟前
flutter_for_openharmony口腔护理app实战+饮食记录实现
android·javascript·flutter
2601_9494800637 分钟前
【无标题】
开发语言·前端·javascript
css趣多多42 分钟前
Vue过滤器
前端·javascript·vue.js
●VON1 小时前
React Native for OpenHarmony:项目目录结构与跨平台构建流程详解
javascript·学习·react native·react.js·架构·跨平台·von
爱吃大芒果2 小时前
Flutter for OpenHarmony 实战:mango_shop 路由系统的配置与页面跳转逻辑
开发语言·javascript·flutter
qq_177767372 小时前
React Native鸿蒙跨平台实现消息列表用于存储所有消息数据,筛选状态用于控制消息筛选结果
javascript·react native·react.js·ecmascript·harmonyos