npm 包 fun-router 使用教程

什么是 fun-router?

fun-router 是一个用于前端路由的 npm 包。它可以帮助开发者快速搭建基于路径的前端路由系统,并且支持多级路由和嵌套式路由。

安装和使用

安装

您可以通过 npm 来安装 fun-router:

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

或者使用 yarn 安装:

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

使用

fun-router 可以在任何支持 ES6 模块的环境中使用,例如 React、Vue 和 Angular。下面是一个在 React 中使用 fun-router 的示例:

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

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

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

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

路由匹配规则

fun-router 支持常见的路由匹配规则:

  • /path:精确匹配
  • /path/:param:带参数匹配,例如 /users/:id
  • /path/*:通配符匹配,例如 /path/*

在路由匹配时,fun-router 会按照下面的规则依次匹配路由:

  1. 精确匹配
  2. 带参数匹配
  3. 通配符匹配

嵌套路由

fun-router 支持嵌套式路由。例如,我们可以把 /users 下的子路由放到一个独立的组件中,并使用 <Route> 组件进行注册:

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

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

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

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

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

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

在上面的例子中,我们在 /users 下注册了两个子路由:/users/users/:id。这样我们就可以在一个独立的组件中处理所有 /users 相关的路由了。

API

<Router>

<Router> 是 fun-router 包中的一个高阶组件。它需要被包含在整个路由系统的根节点中,并且必须包含所有的 <Route> 组件。

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

<Router> 组件支持下面的 props:

  • history:自定义路由历史记录,默认为 window.history
  • basename:应用程序的基本路径,会被自动添加到所有的路由路径中
  • location:自定义当前路由的地址,可以手动覆盖当前浏览器地址栏中的地址
  • onChange:当路由发生改变时触发的回调函数

<Route>

<Route> 组件用来指定某个路径的页面组件。当路由匹配时,与之匹配的 <Route> 组件会被渲染到页面中。

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

<Route> 组件支持下面的 props:

  • path:路由路径,支持精确匹配、参数匹配和通配符匹配
  • exact:是否开启精确匹配模式,默认为 false
  • children:在 <Route> 组件内部嵌套的子路由
  • component:要渲染的页面组件
  • render:用于自定义路由匹配后要渲染的组件
  • props:传递给组件的 props 参数

withRouter

withRouter 是一个高阶组件,用于将当前路由信息注入到组件的 props 参数中。

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

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

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

自定义路由系统

fun-router 可以通过 historylocation 参数来自定义路由系统。这意味着您可以使用自己的路由逻辑替换默认的浏览器路由。

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

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

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

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

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

总结

fun-router 是一个轻量级的前端路由库,可以帮助开发者快速搭建基于路径的前端路由系统。它支持多级路由和嵌套式路由,同时还提供了丰富的 API 和自定义路由系统功能。希望通过这篇文章您能够掌握 fun-router 的使用方法,并在实际项目中得到应用。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005663181e8991b448e21f1


猜你喜欢

  • npm包 ngx-prevent-double-submission使用教程

    本文将介绍如何使用npm包ngx-prevent-double-submission来防止表单重复提交。 1. 什么是重复提交? 当我们在向服务器提交表单时,如果用户单击了多次提交按钮,就会出现多次提...

    3 年前
  • npm 包 @amanda/jst-loader 使用教程

    前言 在前端开发中,经常需要使用到各种工具来辅助开发,而 npm 包就是其中之一。本文主要介绍 npm 包 @amanda/jst-loader,该包可以帮助我们更加方便地管理和加载我们的 JavaS...

    3 年前
  • npm 包 averaged-timeseries 使用教程

    简介 averaged-timeseries 是一个基于 npm 的前端包,用于处理时间序列数据。它可以对给定时间间隔下的时间序列数据做平均处理,将原始数据转换为对应时间段内的平均值。

    3 年前
  • npm 包 redux-reduced 使用教程

    简介 redux-reduced 是一个用于简化 Redux 应用程序开发的npm包。它提供了一种更轻便,可重用的方式来定义 Redux reducer。本文将详细介绍如何使用 redux-reduc...

    3 年前
  • npm 包 ng-zingchart 使用教程

    随着前端技术的迅猛发展,越来越多的框架和库被推向前台,提供了快速开发的便利。而 npm 包是其中一个重要的部分,可以方便地安装和管理前端的依赖包。在这篇文章中,我们将介绍如何使用 npm 包 ng-z...

    3 年前
  • npm 包 goodnode111 使用教程

    前言 goodnode111 是一款 npm 包,旨在提供更便捷的前端开发体验。本文将介绍如何使用该包,并探讨其深度和学习以及指导意义。 安装 goodnode111 首先需要安装好 Node.js ...

    3 年前
  • npm 包 old-html-webpack-plugin 使用教程

    在前端开发中,Webpack 是一个非常流行的打包工具,而 old-html-webpack-plugin 是一个用来将老版本的 HTML 文件转换成 Webpack 模板的工具,许多项目中都需要使用...

    3 年前
  • npm 包 torrarithmetic 使用教程

    前言 在前端开发的过程中,我们经常需要使用到一些数学计算相关的功能。比如计算两个数的和、平均数、中位数等等。这些计算一般都很简单,但是如果要写一个完整的算法库,还是比较麻烦的。

    3 年前
  • npm 包 nativescript-material-datetimepicker 使用教程

    简介 nativescript-material-datetimepicker 是一个基于 NativeScript 和 Material Design 的日期/时间选择器组件,支持 Android ...

    3 年前
  • npm 包 alo7-vue-tools 使用教程

    介绍 alo7-vue-tools 是一个用于 Alo7 前端开发的 Vue 工具包,它包含了一些加速前端开发的工具函数以及组件。使用这个工具包可以让我们更方便地开发和维护项目。

    3 年前
  • npm 包 url-id-replace 使用教程

    简介 在前端开发中,经常需要对页面上的 URL 进行处理。url-id-replace 是一款 npm 包,可以帮助开发者快速替换 URL 中的数字参数,实现 URL 动态替换的功能。

    3 年前
  • npm 包 slack-send-pr-notification 使用教程

    在前端开发中,我们经常会使用 GitHub 作为团队协作的平台,而 Slack 则是团队内部交流的主要工具。在 GitHub 上提交 Pull Request 后,我们通常会在 Slack 中通知相关...

    3 年前
  • npm 包 next-lerna-version 使用教程

    在前端项目开发中,经常需要在多个包管理库之间共享代码和依赖项,例如使用 Lerna 管理多个 npm 包时,需要对这些包进行版本管理。而 next-lerna-version 就是一款可以简化我们的 ...

    3 年前
  • npm 包 datetime-react-picker 使用教程

    简介 datetime-react-picker 是一个基于 React 的日期和时间选择器插件,它可以方便地嵌入到 React 应用程序中使用。它支持多种日期和时间格式,可以自定义样式和语言,以及包...

    3 年前
  • npm 包 humanlines 使用教程

    前言 在前端开发中,我们经常需要对文本进行处理,比如处理字符串格式、长度限制、排版等等。Humanlines 是一个非常好用的 npm 包,可以帮助我们在这方面更加高效和方便地处理文本。

    3 年前
  • npm 包 material-va 使用教程

    简介 Material-va 是一个基于 Vue.js 的 UI 框架,可用于快速构建美观的用户界面。它是一个模块化的包,提供组件、指令和函数,并且易于使用和扩展。

    3 年前
  • npm 包 mongoose-universal 使用教程

    前言 在前端开发中,与后端交互数据是必不可少的一环。而 MongoDB 是一种十分流行的文档型数据库,它可以以 JSON 格式存储数据,并支持高效的数据读写。为了更加方便地操作 MongoDB 数据库...

    3 年前
  • npm 包 redux-saga-test-plan-resnap 使用教程

    在前端开发中,我们经常需要进行 Redux 和 Saga 的单元测试,但是常常遇到的问题是如何正确地测试异步的操作。针对这个问题,有一个 npm 包叫做 redux-saga-test-plan-re...

    3 年前
  • npm包smallstyle使用教程

    前言 前端开发过程中少不了用到各种各样的包,而npm是我们最常用的包管理工具。其中,smallstyle是一个轻量级的样式库,它包含各种常用的样式,方便我们快速地开发出美观的页面。

    3 年前
  • npm 包 @isnifer/tipsi-send-release 使用教程

    在现代前端开发中,npm 是一个不可或缺的工具,它为我们提供了方便的包管理和版本控制,帮助我们节省了大量的开发时间。而 @isnifer/tipsi-send-release 这个 npm 包则为我们...

    3 年前

相关推荐

    暂无文章