React-router原理

单页面应用的路由原理差不多,都是基于浏览器的 history API 管理历史浏览记录,通过监听 history 对象的变化(onpopstate) 或 hash 的变化(hashchange),抹平两者的差异,统一路由的对象(history)和操作函数

React Router 各组件

Router

分为 BrowserRouterHashRouter,这两个组件在 react-router-dom 中,但它们都基于 react-routerRouter 组件。他们会维护一个路由状态 state,一旦发生路由变化,就会触发重新渲染 Router 组件,重新执行路由匹配逻辑,达到切换路由页面的效果

Route

这个组件只是挂载下真实的路由组件和路径信息等

Routes

Routes 组件会遍历 Route 组件,形成一个 routes 列表,然后统一处理路由匹配逻辑

NavLink

基于 Link 组件的加强版,Link 组件主要是对 a 标签的改造,会阻止 a 标签的默认跳转,以及加上路由跳转逻辑,这部分路由跳转逻辑会去修改 Router 组件的路由状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值