0
点赞
收藏
分享

微信扫一扫

React router已经V6了?赶紧总结一波

阎小妍 2022-01-26 阅读 79

React router已经V6了?

首先V6版本已经支持新的ts语法支持,使用了最新的api,那么我们一起看看所有的改动:

  1. Switch 全部改为Routes首先第一个就是路由不为顺序选择,现在为最佳匹配。path中的*号可以不加,同时route path 和 link to中的对应关系。同时注意如果分散在子组件中,那么尾部需要加上 *

  2. react 的render或component 改为element,同时不需要renderProps可以直接挂载在组件上props传递数据,同时使用hook的方法,通过useParams, useLocation就可以拿到这些信息。最重要的是V6 的children是用来嵌套路由!!

  3. 在jsx中写入index属性代表是主路由,不能为true,即为不能放置子组件。

  4. 组件layout类似父路由,outlet更像是作用域插槽,用于匹配子路由的element

  5. 通过useRoutes生成对应的element结构,类似vue的挂载routes

  6. route的link to内部的...代表是基于父级Route的path

  7. 新的api: state属性 replace属性 target属性

  8. useHistory被干掉了,换成了useNavigate, 移除了原来的history.push 为navigate(to,{replace:true}) navigate({to: number})

举报

相关推荐

0 条评论