npm 包 redux-form-field 使用教程

阅读时长 5 分钟读完

什么是 redux-form-field

redux-form-field 是一个针对 React 和 Redux 开发的表单处理库,可以帮助我们优雅的处理复杂的表单验证、数据传递等操作。使用 redux-form-field 可以用更少的代码实现更复杂的操作,提高代码复用率和可维护性。

安装 redux-form-field

安装 redux-form-field 可以通过 npm 安装:

基本用法

Field 组件

使用 redux-form-field 时需要使用到其提供的 Field 组件。Field 提供了一个包含表单需要的所有属性的对象,可以通过 Field 组件来获取这些属性。一个简单的使用案例如下:

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

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

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

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

使用 Field 组件时需要传入一个 name 属性,该属性为字段的名称。Field 还提供了其他属性,如 type、placeholder、value、onChange 等等,可以按需使用。

Form 组件

在使用 redux-form-field 时还需要使用 Form 组件。Form 组件需要和 Field 组件一起使用,它会将所有的 Field 组件的值存储在 Redux store 中,并提供一个 onSubmit 回调函数。

一个简单的使用案例如下:

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

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

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

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

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

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

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

Form 组件需要传入一个 onSubmit 属性,该属性为表单提交时的回调函数。同时还需要在 Form 的外层使用 reduxForm 进行包装,并传入一个 form 属性,该属性为表单的名称,用于与 Redux store 中的表单数据进行关联。

取值和校验

在使用 redux-form-field 时,我们可以通过 Field 组件获取表单的所有属性和值,并且可以对这些值进行校验。

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

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

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

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

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

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

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

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

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

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

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

在 Form 组件中传入一个 validate 属性,并定义一个 validate 函数即可对字段进行校验,如果返回一个非空对象,redux-form-field 会认为表单校验失败,并将错误信息以一个名为 _error 的 key 保存在表单数值对象内。

高级用法

使用 redux-form-field 还可以实现更多的高级功能,比如:异步校验、手动设置数据、动态添加删除字段、多种校验等等,有更多的使用可以参考官方文档。

总结

使用 redux-form-field 可以大大简化表单的处理,并提高代码复用率和可维护性。在使用过程中只需要掌握基本用法即可,并根据业务需要来选择高级功能的使用,以达到更优秀的开发效率。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005581a81e8991b448d5406

纠错
反馈