当前位置: 首页 > news >正文

React-router

        我们用react这些工具开发项目通常都为SPA单页面应用,只有一个页面根据状态显示不同的组件,有一个问题。整个应用只有一个页面一个请求地址,那么访问该地址就会跳转到首页。也就是刷新就会跳转到首页。丢失浏览到的内容。

        为了解决这个问题。react-router客户端路由就出现了,会将url地址映射组件。也就是url地址变化会映射组件切换,这种切换完全不依赖服务器。只是切换客户端路由。

        首先安装router包。npm install react-router react-router-dom

        然后就可以直接去使用这个路由包去创建路由了。

        

        首先肯定就是注册路由,然后嵌套路由就直接在路由标签体内用Route去注册就好了,而且如果需要传递参数,就直接在path里面声明/:id表示我要传参数,参数名是id。这个用法是固定的,element指定对应路径展示的组件。

         

        注册了路由,肯定需要去注册跳转链接,用Link和NavLink这里NavLink给我们提供了一个style里面写回调函数,参数是一个对象,里面包含isActive可以根据这个值判断是否点击过了。然后to就是跳转的地址路径。

         

        这里就是一些钩子包括Outlet和Navigate组件。useParms可以获取访问路径时带的参数。前面声明了id那么我们用id解构获取,useNavigate获取一个页面跳转方法。然后就是Outlet组件,在嵌套路由里面,给父路由引入这个组件,然后放到希望展示子路由的地方就可以了。Navigate就是一个跳转组件。默认是push跳转。保留历史记录。大概就这些基本的用法。

         

         

        路由多的话也可以写单独文件route.js,容易维护。然后用uesRoutes钩子生成路由表。放在根组件就ok了。接下来就是写一些案例去更好的理解和使用了。

        

        

         


文章转载自:
http://brogue.ciuzn.cn
http://antiphonal.ciuzn.cn
http://braise.ciuzn.cn
http://candock.ciuzn.cn
http://chicanery.ciuzn.cn
http://broke.ciuzn.cn
http://antecedency.ciuzn.cn
http://cartology.ciuzn.cn
http://adagiettos.ciuzn.cn
http://camerlingate.ciuzn.cn
http://cambrel.ciuzn.cn
http://choreoid.ciuzn.cn
http://bushido.ciuzn.cn
http://bandsman.ciuzn.cn
http://calibration.ciuzn.cn
http://chemist.ciuzn.cn
http://absorbency.ciuzn.cn
http://chairborne.ciuzn.cn
http://censurable.ciuzn.cn
http://changeability.ciuzn.cn
http://chivy.ciuzn.cn
http://arpeggio.ciuzn.cn
http://bibliopole.ciuzn.cn
http://armyman.ciuzn.cn
http://catagenesis.ciuzn.cn
http://burns.ciuzn.cn
http://bosquet.ciuzn.cn
http://calamitously.ciuzn.cn
http://bloodless.ciuzn.cn
http://belligerency.ciuzn.cn
http://www.dtcms.com/a/280837.html

相关文章:

  • 未来大模型在中小型企业如何实现普及
  • PG备份一(逻辑备份)
  • Kafka——生产者消息分区机制原理剖析
  • Java基础教程(009): Java 的封装
  • Samba配置使用
  • 算法学习笔记:23.贪心算法之活动选择问题 ——从原理到实战,涵盖 LeetCode 与考研 408 例题
  • 重学前端005 --- 响应式网页设计 CSS 盒子模型
  • Python函数进阶
  • python 基于 httpx 的流式请求
  • 封装---统一处理接口与打印错误信息
  • Linux下调试器gdb/cgdb的使用
  • Linux系统调优和工具
  • [面试] 手写题-对象数组根据某个字段进行分组
  • mysql官网的版本历史版本下载
  • 令牌获取与认证机制详解
  • 关键点检测数据格式转换(.JSON转TXT)
  • 【超分论文精读】——LightBSR(ICCV2025)
  • 梳理Bean的创建流程
  • mongoDB的CRUD
  • Visual Studio 现已支持新的、更简洁的解决方案文件(slnx)格式
  • 云服务器如何管理数据库(MySQL/MongoDB)?
  • 基于STM32G431无刷电机驱动FOC软硬件学习
  • iOS高级开发工程师面试——常见第三方框架架构设计
  • C++学习笔记五
  • Gemma-3n-E4B-it本地部署教程:谷歌开源轻量级多模态大模型,碾压 17B 级同类模型!
  • SHAP 值的数值尺度
  • Conda 核心命令快速查阅表
  • 技术演进中的开发沉思-35 MFC系列:消息映射与命令
  • Keepalived双机热备
  • 网络安全职业指南:探索网络安全领域的各种角色