npm 包 next-react-router 使用教程

阅读时长 5 分钟读完

前言

Next.js 是一个基于 React 的服务端渲染工具,已经成为了 React 服务端渲染的事实标准。对于一个现代化的应用程序,页面路由是必不可少的功能。React 路由解决方案中,React Router 是最常用的库之一。而在 Next.js 中,我们可以使用 next/router 包来解决路由问题。

但是,next/router 有其自身的缺点,比如支持服务端渲染,但是在客户端执行的时候会有一定的延迟,导致客户端执行后可能会出现页面跳转时的闪烁现象。

Next.js 团队为了解决这个问题,推出了一个新的 npm 包,叫做 next-react-router。下面,我们将详细介绍这个包的使用方法及注意事项。

安装

在项目中,使用 npm 包管理器安装 next-react-router 包:

或者使用 yarn:

使用方法

在项目入口处设置 next-react-router:

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

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

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

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

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

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

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

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

在上面的代码中,我们通过调用 createRouter 函数来创建一个名为 router 的对象,该对象具有配置路由的功能。在 App 组件中,我们用该对象对 MyApp 组件进行包装,以使用其路由功能。

路由的使用

在路由使用时,请使用 next-react-router 中的 Link 组件:

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

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

命令行参数

在命令行上,需要添加 -r/--run-router 来实现 next-react-router 的默认路由。这样,我们可以使用以下命令来启动应用程序:

或者使用 yarn:

注意事项

  • 使用 next-react-router 时,不需要再次为路由添加 <router> 组件。next-react-router 会自动添加并管理路由。因此,如果在渲染过程中手动添加 <router> 组件,则可能会出现与 next-react-router 冲突的错误。因此,必须将 <router> 组件从代码中删除。
-- -------------------- ---- -------
-- ---
------ - ------ - ---- -------------

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

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

------ ------- -------------------
  • next-react-router 对于动态路由有一些不同的处理方法:
-- -------------------- ---- -------
-- ---------------------

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

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

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

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

除了这些特殊情况之外,next-react-router 的使用方式与普通的 React Router 使用方式完全相同。

结论

next-react-router 是 Next.js 团队为了解决客户端路由延迟问题,新推出的一个 npm 包。与 next/router 相比,它具有更快的客户端执行速度和更稳定的服务端执行速度,并且支持自定义配置。 使用 next-react-router 意味着不需要手动维护路由,同时保持了服务端渲染的优势。希望本篇文章能够帮助大家更好的使用 next-react-router 。

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

纠错
反馈