npm 包 react-redux-fetch-if-necessary 使用教程

AI 编程助手,豆包旗下的编程助手,提供智能补全、智能预测、智能问答等能力,节省开发时间,释放脑海中的创造力,支持 VSCode,点击体验 AI

简介

随着 React 的流行,越来越多的开发者开始使用 Redux 来进行状态管理。为了方便使用,社区中涌现了不少算是一站式解决方案的 Redux 中间件。其中一个比较受欢迎的是 react-redux-fetch-if-necessary,它可以让你更优雅地发起网络请求。

安装

使用 npm 安装 react-redux-fetch-if-necessary:

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

使用

在 Redux 的 store 中配置中间件:

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

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

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

我们推荐将 react-redux-fetch-if-necessary 和 Redux 的 thunk 中间件同时使用,这样可以方便地处理异步 action。

之后,就可以在 action 中发起网络请求了:

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

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

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

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

fetchIfNeeded 接收两个参数:fetchType 和 options。fetchType 表示本次请求的类型,options 则包含了所有请求的相关设置。

在本例中,我们通过 url 将请求地址传递给了 options,assign 方法中的 onSuccess 和 onError 分别表示请求成功和失败的回调函数。我们在这里 dispatch 了 FETCH_USERS 类型的 action,将数据存储到 Redux store 中。

最后,我们需要回到 components 中,将 state 映射到 props 中:

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

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

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

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

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

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

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

当组件渲染时,我们触发了 fetchUsers 函数,开始发送网络请求。当请求数据返回后,我们将其存储在 Redux store 中,接着将 users 从 store 中映射到组件上并渲染出来。

案例

我们通过一个完整的案例来看看 react-redux-fetch-if-necessary 的所有应用。你可以将以下代码复制到你的项目中并运行。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最后,我们将 UserList 渲染到页面上:

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

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

至此,你已经完成了网络请求的开发。

总结

react-redux-fetch-if-necessary 让 Redux 的状态管理变得更加丝滑。使用它的过程中,你将更加专注于数据的处理而不是网络请求的细节。我们的建议是:在使用它时,一定要充分了解如何设置网络请求响应和错误处理的回调函数。当你熟悉了这一点后,你就可以轻松地进行数据存储、状态管理和网络请求了。

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


猜你喜欢

  • npm 包 ruined-sod 使用教程

    简介 Ruined-sod 是一个可以用于生成随机文本的 npm 包,它可以生成指定长度的随机字符串,适用于前端开发、测试等场景。它可以用于测试数据的生成、密码的生成等等。

    3 年前
  • npm 包 nodelib-template 使用教程

    简介 nodelib-template 是一个 Node.js 项目模板,可以用来快速创建一个基于 Node.js 的项目,并且提供了一些常用的工具和配置,帮助开发者更高效地进行项目开发。

    3 年前
  • npm 包 @houshuang/parse-png 使用教程

    在前端开发中,常常需要读取操作 PNG 图片。针对这种情况,@houshuang/parse-png 是一种非常优秀的 Node.js 模块,它可以帮助我们快速地读取 PNG 图片,并以 JavaSc...

    3 年前
  • npm 包 tool3ui 使用教程

    什么是 tool3ui? tool3ui 是一个基于 React 和 Antd 的前端 UI 组件库,里面包含了常用的 UI 组件,如按钮、表单、对话框等。 使用 tool3ui 可以快速构建一个美观...

    3 年前
  • npm 包 file-info-loader 使用教程

    1. 介绍 file-info-loader 是一个可以获取文件信息的 webpack loader,它可以获取文件的 MIME 类型、大小等信息,并将这些信息结合到构建流程中。

    3 年前
  • npm 包 prot16-builder 的使用教程

    什么是 prot16-builder? prot16-builder 是一个 NPM 包,它可以帮助您创建基于 16 色调色板的颜色主题。其中包括:ConEmu、iTerm2 Color Scheme...

    3 年前
  • npm 包 sarvtest 使用教程

    在前端开发中,我们经常需要开发和集成测试来确保我们的代码质量。npm 上有很多测试框架和工具,其中 sarvtest 是一个成熟且易用的 npm 测试包。它提供了许多有用的工具和函数,可以帮助我们编写...

    3 年前
  • npm 包 @itwonders-web/vuejs-search-mixin 使用教程

    前言 在前端开发中,搜索功能是一个必要的功能,而实现这个功能通常包括从数据集中检索和筛选出所需的数据,并在前端 UI 中进行呈现。在 Vue.js 的开发中,我们经常需要在组件中实现搜索,但是每次都需...

    3 年前
  • npm 包 node-dgraph 使用教程

    在前端开发中,有很多需要使用数据库的场景,如数据的存储、查询等操作。而 Dgraph 是一款基于 GraphQL 的分布式数据库,它既支持 GraphQL 查询语言,又支持用于图形数据库的 RDF 语...

    3 年前
  • npm 包 videojs-resolution-switcher-v6 使用教程

    在前端开发中,经常需要用到视频播放器,而视频播放器要支持多种分辨率切换,就需要用到 videojs-resolution-switcher-v6 这个 npm 包。本文将详细介绍这个包的使用方法。

    3 年前
  • NPM 包 react-redux-toastr-custom 使用教程

    在 React 应用开发中,我们经常需要使用 toasts 来提醒用户。React-Redux-Toastr 是一个非常好用的插件,它提供了简单易用的 API,并且高度可定制。

    3 年前
  • 使用 @clickalicious/ci-github-bot 自动化 GitHub CI 流程

    在现代前端开发流程中,GitHub 自动化 CI 已经成为了标配,对于开源项目尤其如此。但是,在快速迭代的前端项目中,频繁手动操作 GitHub CI 也变得相当麻烦。

    3 年前
  • npm 包 command-test 使用教程

    前端开发是一个快速发展的行业,随着技术的不断进步,我们需要有一个高效的工具来管理我们的项目。npm 是一个被广泛使用的包管理器,它提供了许多强大的功能,其中一个就是能够帮助我们自动测试我们的项目。

    3 年前
  • npm 包 tool4ui 使用教程

    在前端开发中,通常需要使用各种 UI 组件库来帮助我们快速构建界面。而 tool4ui 是一个针对 Vue.js 和 React.js 框架开发的 UI 组件库。它提供了多种常用的 UI 组件,可以方...

    3 年前
  • npm包raf-polyfill使用教程

    前言 在前端开发中,我们经常会用到requestAnimationFrame,简称RAF,它是浏览器提供的用于动画渲染的API。但是,因为不同浏览器的requestAnimationFrame实现方式...

    3 年前
  • NPM 包 Polytely 使用教程

    Web 开发中,DOM 操作是一个十分常见的任务。我们需要根据用户的操作(如点击按钮、下拉框选择、输入表单等等)来动态地修改当前的文档结构,从而让网页变得更加动态和交互。

    3 年前
  • npm 包 dbschema-parser-cli 使用教程

    介绍 dbschema-parser-cli 是一个基于 Node.js 的命令行工具,用于将数据库 schema 转换为 JSON 格式。它支持多种数据库类型,包括 MySQL、PostgreSQL...

    3 年前
  • npm 包 dbschema-parser 使用教程

    前言 dbschema-parser 是一款用于解析数据库 schema 的 npm 包,可以将数据库 schema 解析为 JSON 格式。该包对于前端开发人员来说非常实用,可以更好地理解数据库表结...

    3 年前
  • npm 包 roarcli 使用教程

    简介 roarcli 是一个 Node.js 的 npm 包,它提供了一个命令行工具,可以通过命令行简单地创建一个 Vue 项目的骨架。它可以帮助前端开发者快速搭建一个基于 Vue 的项目,节约时间和...

    3 年前
  • npm 包 studs-cli 使用教程

    在前端开发过程中,我们常常需要编写一些基础的代码,如常量、工具函数等等。而且,这些代码往往需要被多个项目共用。这时候,我们可以将这些代码封装成一个 npm 包,方便在多个项目中使用。

    3 年前

相关推荐

    暂无文章