npm 包 redux-form 使用教程

阅读时长 5 分钟读完

在 React 应用中,表单是常见的组件之一。Redux 是一个很好的状态管理工具,但它并不适合处理表单数据。Redux-Form 是一个 Redux 插件,它提供了更好的方式来处理表单数据和验证。

本文将介绍如何使用 npm 包 redux-form,包括安装、配置和使用方法,并提供示例代码。

安装

可以使用 npm 或 yarn 安装 redux-form:

或者:

配置

要使用 redux-form,你需要将其连接到 Redux 应用程序中。在 src 目录下新建一个 store.js 文件,并添加以下内容:

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

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

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

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

在上面的代码中,我们导入 createStorecombineReducers 函数,以及 reducer 对象。然后,我们创建一个 rootReducer,其中包含一个名为 form 的属性,该属性由 formReducer 处理。最后,我们使用 createStore 函数创建一个 Redux store,并将 rootReducer 传递给它。

使用

现在我们已经将 redux-form 添加到应用程序中,接下来就可以使用它了。在这里,我们将展示一个简单的登录表单示例。

首先,在 src 目录下创建一个名为 LoginForm.js 的文件,并添加以下内容:

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

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

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

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

在上面的代码中,我们导入 ReactFieldreduxForm。然后,我们定义了一个名为 LoginForm 的组件,它接受一个名为 handleSubmit 的属性。该组件包含一个包装在 form 标签中的表单,其中有两个 Field 组件,分别对应于用户名和密码输入框。最后,我们使用 reduxForm 函数将 LoginForm 包装起来,并将表单名称设置为 'login'

接下来,在 src 目录下创建一个名为 LoginPage.js 的文件,并添加以下内容:

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

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

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

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

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

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

在上面的代码中,我们导入 ReactconnectLoginForm。然后,我们定义了一个名为 LoginPage 的组件,它接受一个名为 handleSubmit 的属性。该组件包含一个标题和 LoginForm 组件。最后,我们使用 connect 函数将 LoginPage 连接到 Redux store 上。

示例演示

现在我们已经创建了一个简单的登录表单,可以在浏览器中查看它的工作方式。在 src 目录下创建一个名为 index.js 的文件,并添加以下内容:

纠错
反馈