React-Router4.x 环境搭建及 spa 应用开发

前言

React-Router 是一个用于 React 应用的路由库。它可以帮助我们在单页应用中管理路由,并且可以支持动态路由、嵌套路由、路由传参等功能。本文将介绍 React-Router4.x 的环境搭建及 spa 应用开发。

环境搭建

安装 React 和 React-DOM

React-Router 是基于 React 和 React-DOM 的,所以我们需要先安装这两个库。可以通过 npm 安装:

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

安装 React-Router

React-Router4.x 与之前的版本相比有了很大的改动,所以我们需要安装最新版本的 React-Router。可以通过 npm 安装:

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

配置 Webpack

在使用 React-Router 的时候,我们需要使用 Webpack 来打包应用。需要在 Webpack 配置文件中添加以下代码:

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

这段代码的作用是让 Webpack 在开发模式下支持 HTML5 History API。

使用 React-Router

基本用法

React-Router 的基本用法是通过 <Router> 组件包裹整个应用,并使用 <Route> 组件来定义路由规则。下面是一个简单的示例:

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

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

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

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

在这个示例中,我们定义了三个路由规则,分别对应了三个组件:HomeAboutContactexact 属性表示只有在路径完全匹配时才会渲染对应的组件。

嵌套路由

React-Router 支持嵌套路由,我们可以在一个组件中定义子路由规则。下面是一个示例:

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

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

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

        --- --

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

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

在这个示例中,我们定义了一个嵌套路由规则,即 /about/contact。当用户访问该路径时,会渲染 Contact 组件。

路由传参

React-Router 还支持路由传参。我们可以通过 URL 参数或者查询参数来传递数据。下面是一个示例:

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

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

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

        --- --

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

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

在这个示例中,我们定义了两个链接,分别传递了不同的查询参数。在 Contact 组件中,我们可以通过 this.props.location.search 来获取查询参数。

总结

本文介绍了 React-Router4.x 的环境搭建及 spa 应用开发。通过本文的学习,我们可以掌握 React-Router 的基本用法、嵌套路由和路由传参等功能。希望本文对大家的学习和开发有所帮助。完整示例代码请参考 GitHub

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/663aa133d3423812e48b56c1