React-Routerv3到v4之后的变化以及一些坑

1 篇文章 0 订阅
1 篇文章 0 订阅

       RecatRouter4的使用事项

        由于博主最近在学习React的相关知识,遇到版本上的一些坑(教学课程版本跟我现在安装的版本不一样),加之我查找了很多这方面的博客,发现时间都有点久远。所以特此来跟大家分享一下我的踩坑经历。

     我现在使用的是 4.0,这个版本的路由是跟之前的用法有着比较大的区别的,React Router v4 是一个完整的重写

    下面就让我来跟大家介绍一下我踩过的坑:

     1.使用:

         页面中导入应用:

          import 'BrowserRouter,Route,Switch' from 'react-router-dom'

            <BrowserRouter>

                   <Switch>

                  <Route exact path="/" component={组件名}></Route>

                  <Route exact path="/" component={组件名}></Route>

                   </Switch>

            </BrowserRouter>
    注意:
          1.BrowserRouter 只能有一个子元素,你可以使用<Switch></Switch>,
    或者使用<div></div>将子元素包裹起来。不然会报错。
         2.Router 4以上 还需要在BrowserRouter 中加元素 exact严格限制
  path的匹配,不然的话,如path="/",Router将会把所有带'/'的
  路径匹配,然后报错。
         3.webpack.config.js中加入一下代码,可以让浏览器抛出的异常更加详细
   devServer: {
        disableHostCheck: true,
        historyApiFallback:true
      },
      4.Router 4以上接收页面传递的参数时的变化,
     之前:
        this.props.params.参数名
     之后:

        this.props.match.params.参数名

        以上就是我学习遇到的一些关于版本差异的坑,但是v3和v4的变迁不止我介绍的这几种,需要了解更多的可以去官网了解更多关于Router4的用法。

         官网地址:https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/guides/migrating.md

        这是我的心得,可能有哪些疏漏的地方。希望大神可以多多指点指点~嘻嘻

     


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React Router v6 是一个用于 React 应用程序的路由库。它是 React Router v5 的下一个主要版本,旨在提供更简化、更易使用的 API。下面是关于 React Router v6 的一些重要信息: 1. 路由组件:React Router v6 引入了一种新的方式来定义路由组件。它将 `<Route>` 组件替换为 `element` prop,并使用 JSX 语法来定义路由组件。例如,可以像这样定义一个路由:`<Route path="/" element={<Home />} />`。这种新的方式使代码更直观和易于理解。 2. 路由导航:React Router v6 提供了一种新的方式来导航到不同的页面。它引入了 `<Link>` 组件和 `useNavigate` 钩子来替代 `history` 对象。使用 `<Link>` 组件,我们可以轻松地创建导航链接。使用 `useNavigate` 钩子,我们可以在组件内部进行编程式导航。这种新的方式更加简单和直观。 3. 嵌套路由:React Router v6 支持嵌套路由的定义。我们可以在父级路由组件中创建子级路由组件。这使得应用程序的路由结构更加清晰和模块化。只需在父级路由组件中添加 `<Outlet>` 组件,并在其内部定义子级路由。 4. 动态路由:React Router v6 允许动态路由的定义。我们可以在路由路径中使用参数,这样在组件内部可以访问到该参数的值。例如,可以通过 `<Route path="/user/:id" element={<User />} />` 这样的定义来访问用户的 ID。 总的来说,React Router v6 是一个更简化、更易使用的路由库,它通过引入新的 API 和概念来使路由的定义和导航更加直观和方便。它支持嵌套路由和动态路由的定义,使应用程序的路由结构更加清晰和模块化。它还提供了一种新的方式来导航到不同的页面。如果你正在开发一个使用 React 的应用程序,并需要路由功能,React Router v6 是一个值得考虑的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值