• React路由


    React 路由

    介绍

    路由:单页面应用中,路由就是让用户从一个页面跳转到另一个页面

    路由的基本使用

    • 安装:npm i react-router-dom / yarn add react-router-dom

    • 导入路由的三大核心组件: Router/ Route/ Link

    • 使用 Router组件包裹整个应用

    • 使用 Link组件作为导航菜单(路由的路口)

    • 使用 Route 组件配置路由规则和要展示的组件

    1. // 1.引入三大核心组件
    2. import { BrowserRouter as Router, Route, Link } from 'react-router-dom'
    3. // 页面一
    4. class First extends React.Component{
    5. render() {
    6. return (
    7. <div>
    8. <h1>页面一内容</h1>
    9. </div>
    10. )
    11. }
    12. }
    13. // 页面二
    14. class Two extends React.Component{
    15. render() {
    16. return (
    17. <div>
    18. <h1>页面二内容</h1>
    19. </div>
    20. )
    21. }
    22. }
    23. // 2.使用 Router 组件包裹整个应用
    24. class App extends React.Component{
    25. render() {
    26. return (
    27. <Router>
    28. <div>
    29. <Link to="/first">页面一</Link>
    30. <Link to="/two">页面二</Link>
    31. <Route path="/first" component={First}></Route>
    32. <Route path="/two" component={Two}></Route>
    33. </div>
    34. </Router>
    35. )
    36. }
    37. }
    38. const container = document.getElementById('root');
    39. const root = createRoot(container);
    40. root.render(
    41. <App />
    42. )

    常用的路由组件

    • BrowserRouter : 包裹整个应用,让在这里面可以使用路由组件。原理是 H5 的history API 实现。

    • HashRouter : 跟 vue 中 的hash 路由差不多。URL 地址中都有 #。

    • Link : 用于指定跳转的链接

    • Route : 指定路由展示组件相关信息

      • path 属性:路由规则

      • component 属性:展示的组件

    编程式导航

    编程式导航: 通过 JS 代码来实现页面跳转

    通过 this.props.history 来获取到浏览器历史记录。然后再通过 push 跳转到某个页面。---- this.props.history.push('/xxx')

    匹配模式

    模糊匹配

    react 路由匹配使用到的就是 模糊匹配规则

    模糊匹配规则:只要 pathname 以 path 开头,就会被匹配成功。--- (匹配 '/home' 的时候,也能匹配到 '/')

    精确匹配

    前提问题:要解决默认路由什么情况下都会进行展示。

    解决方式: 在 Route 组件中添加 exact 属性,就会变成 精确匹配模式

    精确匹配规则 :只有当 path 和 pathname 完全匹配的时候才会展示该路由。

  • 相关阅读:
    js中onchange的使用场景及如何使用
    算数表达式
    [附源码]SSM计算机毕业设计基于健身房管理系统JAVA
    现代 CSS 高阶技巧,完美的波浪进度条效果。
    Spring框架特点介绍
    .NET 值类型 引用类型
    栈与队列介绍
    vs中pygame窗口不显示
    【学习笔记之数据结构】顺序表
    【数据结构与算法】链表
  • 原文地址:https://blog.csdn.net/weixin_51642358/article/details/126592699