NPM 包 @types/redux-auth-wrapper 使用教程

前言

随着前端开发的不断发展,前端技术也日新月异。在前端开发中,我们常常需要用到一些较为复杂的库或框架,比如 redux-auth-wrapper。本文将介绍如何使用这个库来实现认证授权等功能。

介绍

redux-auth-wrapper 是一个用于 React+Redux 应用的认证授权库。它基于 Redux 状态管理,提供了一系列的高阶组件,用于实现各种认证授权逻辑。

安装

使用 npm 安装:

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

使用

1. 创建认证状态

在使用 redux-auth-wrapper 之前,必须先创建一个全局的认证状态,用于保存用户认证信息。

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

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

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

2. 配置认证组件

redux-auth-wrapper 通过几个高阶组件来实现认证授权功能。我们可以通过这些高阶组件,实现登陆保护、权限控制等功能。

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

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

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

我们定义了两个 selector 函数,isAuthenticatedisAdminisAuthenticated 判断用户是否已经登陆,isAdmin 判断用户的角色是否为管理员。然后通过 UserAuthWrapper 高阶组件来实现了一个权限控制的组件 adminOnly

3. 嵌套路由保护

我们可以通过 routeNodeSelector 函数来对路由进行嵌套保护。该函数返回高阶组件,可以精确的保护需要进行保护的路由。

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

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

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

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

我们将 adminOnly 高阶组件作为 Route 组件的渲染组件,即可实现对 /admin 路由的嵌套保护。

4. 在组件中使用

我们可以通过 authWrapper 高阶组件在组件中使用认证授权功能。

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

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

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

可以看到,我们将 authWrapper 高阶组件作为目标组件的括号运算符,即可实现在目标组件内部添加认证授权。

总结

redux-auth-wrapper 是一个功能强大,易于使用的认证授权库。通过高阶组件的封装,使得我们可以轻松实现各种认证授权功能。本文分别介绍了创建认证状态、配置认证组件、嵌套路由保护、在组件中使用等几个方面。希望对前端开发者有所帮助。

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


猜你喜欢

  • npm 包 @types/rrc 使用教程

    简介 @types/rrc 是针对 React 标准库中的 react-router-component (rrc) 组件的 TypeScript 类型定义文件。通过使用这个包,我们可以在使用 rrc...

    4 年前
  • npm 包 @ethersproject/random 使用教程

    介绍 在 Web3 开发中,随机数扮演着非常重要的角色。在实现建立实现加密场景,例如智能合约中的随机函数、抽奖和游戏中的随机机制时,我们需要一个强大的随机数生成器,npm 包 @ethersproje...

    4 年前
  • npm 包 @types/rsmq 使用教程

    什么是 @types/rsmq ? @types/rsmq 是一个 redis-smq 库的 TypeScript 类型定义的 npm 包。 redis-smq 是一个轻量级的 Redis 消息队列库...

    4 年前
  • npm 包 @ethersproject/rlp 使用教程

    npm 包 @ethersproject/rlp 使用教程 @ethersproject/rlp 是一个用于实现递归长度前缀(RLP)编解码的 npm 包。递归长度前缀是以太坊区块链中经常使用的编码方...

    4 年前
  • npm 包 @types/rsmq-worker 使用教程

    在前端开发中,有很多涉及到消息队列传输的场景,如何安全高效地使用消息队列是我们需要掌握的技能。@types/rsmq-worker 是一个 Message Queue 的 npm 包,可以帮助我们更好...

    4 年前
  • npm包 @ethersproject/sha2使用教程

    在区块链技术中,hash算法被广泛应用用于加密交易和保护用户数据。@ethersproject/sha2是一个常用的npm包,它提供了多种sha2算法,有助于前端开发者轻松的实现这些算法。

    4 年前
  • npm 包 @types/rss 使用教程

    前端开发者在工作中经常需要处理 RSS(Rich Site Summary)格式的数据,而 TypeScript 作为一种强类型语言能够有效提升开发效率。@types/rss 就是一种 TypeScr...

    4 年前
  • npm包 @ethersproject/signing-key使用教程

    什么是 @ethersproject/signing-key? @ethersproject/signing-key 是一个用于以太坊和 ERC20/ERC721 token 签名的 JavaScri...

    4 年前
  • npm 包 @types/run-parallel 使用教程

    在前端开发中,我们经常需要处理一些异步操作,例如向后台发送请求、执行定时任务等等。这些异步操作通常需要在执行完之后再继续后续操作,但是由于异步操作的不可预测性,我们无法确定这些操作会在什么时候完成。

    4 年前
  • npm 包 @ethersproject/strings 使用教程

    什么是 @ethersproject/strings @ethersproject/strings 是一个javascript库,提供各种字符串操作,例如字符串编码、解码、截断等。

    4 年前
  • npm包 file-exists-dazinatorfork 使用教程

    介绍 file-exists-dazinatorfork是一个用于检测文件或目录是否存在的 npm 包。它能够非常便捷地用于我们平时的一些前端开发中,比如在使用 gulp 等构建工具的时候,判断某些文...

    4 年前
  • npm包@types/runes使用教程

    在前端开发中,使用npm包已成为日常。npm包可以让我们快速引用第三方库,省去了大量的重复代码编写,同时也可以提高项目的可维护性和可扩展性。本文要介绍的npm包是@types/runes,它可以帮助我...

    4 年前
  • npm 包 @ethersproject/units 使用教程

    在以太坊和其他支持区块链技术的应用中,数字货币和其他资产都是以最小单位作为计量单位的。这些最小单位难以被人类理解和记忆,比如以太币的最小单位叫做 wei。因此,以太坊开发者社区已经定义了一些工具包来对...

    4 年前
  • npm 包 @types/rwlock 使用教程

    在前端开发中,需要使用到各种库和框架来提高开发效率和代码质量。其中,npm 包是比较常见的一种库,可以提供丰富的功能和接口供我们使用。在本文中,我们将介绍一个名为 @types/rwlock 的 np...

    4 年前
  • npm 包 @ethersproject/wallet 使用教程

    简介 @ethersproject/wallet 是以太坊钱包的一个 npm 包,它提供了以太坊钱包的所有功能,使得我们可以很方便地进行以太坊的操作。 本文将针对 @ethersproject/wal...

    4 年前
  • npm 包 rword 使用教程

    随着前端技术的不断发展,前端开发人员需要使用越来越多的工具和库来帮助完成日常开发任务。npm 是前端开发人员必备的一个工具之一,它提供了大量的开源包和库,方便开发人员快速使用。

    4 年前
  • npm 包 @types/rword 使用教程

    1. what is @types/rword? @types/rword是一个使用TypeScript编写的随机英语单词生成器。它可以帮助前端开发人员快速生成一些随机单词,这对于编写测试或模拟数据非...

    4 年前
  • npm 包 @ethersproject/web 使用教程

    前言 在今天的 web 开发中,区块链技术得到了广泛的应用。作为一名前端开发者,使用区块链技术开发应用效率得到了提高,也让应用更加可靠性和透明度。而在访问以太坊网络上的智能合约时,需要进行加密和签名等...

    4 年前
  • npm 包 @types/rx-angular 使用教程

    前言 现今前端领域是一个极其快速发展的行业,其中涉及的技术和工具也在不断更新和迭代。因此,前端开发者必须时刻保持学习的状态,不断更新自己的知识。 在前端开发中,JavaScript 的异步编程是一个重...

    4 年前
  • npm 包 @ethersproject/wordlists 使用教程

    前言 在以太坊开发中,助记词(mnemonic)被广泛地使用来生成私钥以及派生地址。由于助记词是人类可读的,在开发中使用非常方便。而 @ethersproject/wordlists 就是一个提供了多...

    4 年前

相关推荐

    暂无文章