React Router 配置无痛入门教程

阅读时长 7 分钟读完

什么是 React Router?

React Router 是 React 的官方路由库,用于帮助我们构建单页应用程序。它允许我们在 React 应用程序中定义视图之间的导航,并在浏览器地址栏、浏览器历史记录等方面进行正确地同步。

安装 React Router

使用 npm 来安装 React Router:

配置 React Router

首先,我们需要在我们的应用程序中导入 React Router:

接下来,我们需要在应用程序的根组件中使用 BrowserRouterSwitch 组件来包装我们的路由。

-- -------------------- ---- -------
-------- ----- -
  ------ -
    ---- ----------------
      ---------------
        --------
          --- ---- ---
        ---------
      ----------------
    ------
  --
-

------ ------- ----

接下来,我们需要在 Switch 组件中添加 Route 组件以定义我们的路由。例如,我们可以给我们的应用程序添加两个路由:

-- -------------------- ---- -------
-------- ----- -
  ------ -
    ---- ----------------
      ---------------
        --------
          ------ ----- -------- ---------------- --
          ------ ------------- ----------------- --
        ---------
      ----------------
    ------
  --
-

------ ------- ----

这将为我们的应用程序配置两个路由,一个是 /,一个是 /about

在上面的代码中,我们使用了 exact 关键字来确保只在访问根路径时展示 Home 组件。

接下来,我们需要创建 HomeAbout 组件。这两个组件可以是任何 React 组件,通常用来渲染页面内容。

-- -------------------- ---- -------
-------- ------ -
  ------ -
    -----
      -------------
      ---------- -- --- ---- ---------
    ------
  --
-

-------- ------- -
  ------ -
    -----
      --------------
      ---------- -- --- ----- ---------
    ------
  --
-

现在,我们已经完成了 React Router 的基本配置,我们可以使用这两个简单的示例页面来测试路由是否正确。

动态路由

有时候我们需要创建更复杂的路由,例如动态路由,可以根据不同的参数来显示不同的内容。

React Router 允许我们通过 :id 等占位符来创建动态路由。例如,我们可以根据用户的 ID 来显示不同的用户信息:

-- -------------------- ---- -------
-------- ----- -
  ------ -
    ---- ----------------
      ---------------
        --------
          ------ ----- -------- ---------------- --
          ------ ------------- ----------------- --
          ------ ----------------- ---------------- --
        ---------
      ----------------
    ------
  --
-

-------- ------ ----- -- -
  ------ -
    -----
      -------- ----------------------
      ---------- -- --- ---- ---------
    ------
  --
-

在上面的代码中,我们使用了 :id 占位符来创建动态路由,并在 User 组件中使用了 match.params.id 来获取用户 ID。

嵌套路由

有时,我们需要在应用程序中创建嵌套路由,例如,在账户页面中,我们可能需要显示用户的资料、账单和订单等信息。

对于嵌套路由,我们只需要在父级路由组件中添加子路由组件即可。例如:

-- -------------------- ---- -------
-------- --------- -
  ------ -
    -----
      ----------------
      ----
        ----
          ----- ------------------------------------
        -----
        ----
          ----- ------------------------------------
        -----
        ----
          ----- ----------------------------------
        -----
      -----
      --------
        ------ ----------------------- ------------------- --
        ------ ----------------------- ------------------- --
        ------ ---------------------- ------------------ --
      ---------
    ------
  --
-

-------- ----- -
  ------ -
    ---- ----------------
      ---------------
        --------
          ------ ----- -------- ---------------- --
          ------ ------------- ----------------- --
          ------ ----------------- ---------------- --
          ------ --------------- ------------------- --
        ---------
      ----------------
    ------
  --
-

在上面的代码中,我们在 Account 组件中定义了三个子路由,并在 /account 路由中引用了 Account 组件。

使用 Link 渲染导航链接

React Router 还提供了 Link 组件来渲染导航链接。例如,我们可以在 App 组件中添加导航列表:

-- -------------------- ---- -------
-------- ----- -
  ------ -
    ---- ----------------
      ---------------
        -----
          ----
            ----
              ----- ------------------
            -----
            ----
              ----- ------------------------
            -----
            ----
              ----- ----------------------------
            -----
          -----
        ------
        --------
          ------ ----- -------- ---------------- --
          ------ ------------- ----------------- --
          ------ ----------------- ---------------- --
          ------ --------------- ------------------- --
        ---------
      ----------------
    ------
  --
-

在上面的代码中,我们使用了 Link 组件来渲染导航链接,并在 to 属性中指定要跳转的路径。

结论

React Router 是一个非常强大的路由库,可以帮助我们构建单页应用程序。本文为大家介绍了如何在 React 应用程序中配置 React Router,并介绍了一些高级用法,例如动态路由和嵌套路由等。希望这篇无痛入门教程可以帮助你快速掌握 React Router 的使用方法。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66f4d9c4c5c563ced565f62e

纠错
反馈