`npm` 包 `redux-form-actions` 使用教程

redux-form-actions 是一个 redux-form 的辅助库,提供了一系列的工具函数,用于简化表单之间的交互和数据同步。

安装

在项目目录下运行以下命令:

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

使用

创建 action creator

使用 redux-form-actions 函数可以简化 action creator 的创建,并自动生成 meta 数据:

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

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

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

其中 "NAME" 是表单名称。

创建 reducer

使用 redux-form-actions 可以很方便地创建 reducer

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

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

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

handleSubmit 传递到组件

在表单组件中,需要将 redux-form 提供的 handleSubmit 函数封装一下,以便使用 redux-form-actions 提供的 submitForm 函数:

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

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

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

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

其中 formName 必须和之前创建的 action 中的名称相同,即为 "NAME"

处理表单提交

redux-form-actions 提供了多种方式处理表单提交的结果,例如在 successerror 时分别触发不同的 action

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

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

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

上面的 reducer 会在表单提交成功和失败时分别触发不同的操作。

示例代码

下面是一个完整的示例代码,在这个示例中,我们创建了一个包含 usernamepassword 输入框的登录表单,点击提交按钮触发表单提交动作。

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

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

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

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

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

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

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

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

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

你可以在项目中使用这个示例代码作为参考,创建更加复杂和完整的表单组件。

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


猜你喜欢

  • npm 包 webrtc-peer 使用教程

    什么是 webrtc-peer? webrtc-peer 是一个基于 WebRTC 技术的前端开源库,它能够帮助你轻松地实现实时通信功能。该库提供了一种简单的方式,使得 WebRTC 可以在相对复杂的...

    4 年前
  • npm 包 webrtc-quiz-game 使用教程

    webrtc-quiz-game 是一个基于 WebRTC 技术的在线答题游戏,可以让多个用户通过浏览器参与同一场游戏,支持文字和图像等多种题型。它是一个 npm 包,可以方便地在前端项目中使用。

    4 年前
  • npm包 webrtc-samples 使用教程

    WebRTC是Web实时通信技术,它允许浏览器和移动应用程序之间进行视频和音频通信。自从WebRTC被引入以来,越来越多的应用程序开始使用它来实现视频或音频通信。webrtc-samples是一个np...

    4 年前
  • npm 包 webrtc-rtcpeerconnection 使用教程

    在现代的 Web 应用中,音视频通信技术已经成为不可或缺的一部分。WebRTC (Web Real-Time Communication)是一项基于浏览器的新一代音视频通信技术,可以实现 Peer-t...

    4 年前
  • npm 包 webrtc-ring 使用教程

    前言 WebRTC(Web Real-Time Communication)是一项支持浏览器进行实时高质量音视频通讯的技术,但是 WebRTC 本身实现起来相对复杂,其中包括 ICE、STUN、TUR...

    4 年前
  • npm 包 webpack-loader 使用教程

    在前端开发中,我们经常会使用 webpack 这样的构建工具来打包我们的代码。而 webpack 的一个重要的功能就是可以使用各种 loader 对不同的文件类型进行处理。

    4 年前
  • npm 包 website-popup-cli 使用教程

    简介 website-popup-cli 是一个基于 Node.js 的命令行工具,用于快速为网站添加一个简单的弹窗。 该工具可以为你的网站生成弹窗组件的 HTML、CSS 和 JavaScript ...

    4 年前
  • npm 包 website-scraper-2 使用教程

    在前端开发中,我们常常需要从网站上获取数据或者进行数据挖掘,这时候我们就需要一个工具来帮助我们实现这一过程。而 npm 包 website-scraper-2 就是这样一个工具,它可以帮助我们爬取指定...

    4 年前
  • npm 包 website-spec 使用教程

    简介 website-spec 是一个用于生成网站规范文档的 npm 包。它可以帮助前端开发者自动生成网站规范文档,包括页面布局、颜色、字体等等。 本教程将介绍如何安装和使用 website-spec...

    4 年前
  • npm 包 webrtc-signal 使用教程

    WebRTC 是现代网页实时通信标准,它允许在不需要服务器的情况下进行点对点通信。但是,建立对等连接需要对信令通信进行协调,这通常需要诸如 WebSocket 或 HTTP 长轮询之类的技术。

    4 年前
  • npm 包 webrtc-stats 使用教程

    介绍 WebRTC(Web实时通信)是一项开放源代码的实时通信协议,可以在不需要任何插件或专用软件的情况下实现点对点的浏览器通信。为了能够对WebRTC的性能进行监控和调试,我们可以使用npm包web...

    4 年前
  • npm 包 webrtc-tfx 使用教程

    随着视频通信技术的发展,WebRTC 技术逐渐成为前端开发的一项重要技能。而 webrtc-tfx 则是一个能够提供实时影像增强效果的 npm 包,本文将介绍如何使用 webrtc-tfx 进行视频增...

    4 年前
  • npm 包 website-stack 使用教程

    网站开发常常会涉及到很多前端技术,如 HTML、CSS、JavaScript 等,这些技术需要在项目中进行组合使用。如果你想让你的网站呈现专业的外观和功能,那么你需要熟悉这些技术的使用方式和最新的发展...

    4 年前
  • npm 包 website-starter 使用教程

    简介 网站开发是前端工程师最常用的工具之一,而 website-starter 则是一个可以快速生成网站框架的 npm 包。该包内置了常用的 HTML、CSS、JavaScript 框架,以及许多有用...

    4 年前
  • npm 包 website-template 使用教程

    随着互联网的发展,网站已经成为人们最常用的信息获取和交流平台。作为前端开发者,如何快速搭建一个美观、可用性高的网站是十分必要的技能。本教程将介绍 npm 包 website-template 的使用方...

    4 年前
  • npm 包 websiteUtilities 使用教程

    前言 在前端开发中,我们需要经常处理一些与网站有关的数据、网络请求等等。而如何在开发中提高效率是一个重要的问题。npm 包 websiteUtilities 就是一个能够提高前端开发效率的工具,它包含...

    4 年前
  • npm 包 websitejs 使用教程

    前言 随着 Web 技术的快速发展,越来越多的网站需要 JS 辅助开发,为此包管理工具 npm 的重要性也日益凸显。本文将介绍一种常用的 npm 包 websitejs 的使用方法,并提供详尽的示例代...

    4 年前
  • npm 包 weedout 使用教程

    在前端开发过程中,我们经常使用 npm 包来管理和部署项目。但是很多时候我们会遇到一些问题,例如版本冲突或者包内含过多无用代码。这时候我们就需要一个工具来帮助我们解决这些问题,weedout 就是一个...

    4 年前
  • npm 包 weedux 使用教程

    1. 简介 weedux 是一个使用 JavaScript 编写的轻量级状态管理库,它通过集中管理应用程序的状态,并提供一组 API 来处理状态更新,从而使应用程序更加可预测和可控。

    4 年前
  • npm 包 webpack-material-design-icons 使用教程

    介绍 webpack-material-design-icons 是一个基于 Material Design 风格的图标库,它提供了很多常用的图标,并支持自定义颜色和大小。

    4 年前

相关推荐

    暂无文章