npm 包 normalizr-postprocess 使用教程

阅读时长 6 分钟读完

前言

在前端开发中,我们常常需要处理并转化前端数据。而使用 normalizr-postprocess 包,可以对数据进行归一化处理,以及针对特殊需求进行后处理,使数据更加规范易懂。本教程将介绍该 npm 包的用法及样例。

安装

可以通过 npm 命令进行该包的安装,命令如下:

安装后可以在项目的 package.json 文件中查看该包的版本号。

用法

归一化处理

在进行归一化处理前,需要先定义数据模型和数据结构,即 schema。在 normalizr-postprocess 包中,定义模型和数据结构需要使用 normalizr 包。

定义模型和数据结构

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

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

其中,user、post 和 comment 都是 schema,同时 user 也是 post 和 comment 的属性之一。属性值是使用 Entity 方法实例化的。

归一化处理

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

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

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

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

输出为:

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

后处理

刚才我们已经将数据进行了归一化处理。但实际应用中,有时我们还需要根据具体业务进行特殊的处理。在 normalizr-postprocess 包中,提供了许多可链式调用的方法,方便我们自定义数据的后处理。

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

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

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

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

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

输出为:

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

在这个例子中,我们将 postprocess 方法用于归一化的结果 normalizedData,并通过 makeVisitor 方法定义了一个访问函数,对每个 post 内的 comments 进行后处理。实际上,makeVisitor 方法返回了遍历 entities 中所有数据的钩子函数。

结论

通过本教程,我们学习了如何使用 normalizr-postprocess 包,将数据进行归一化处理,以及针对特殊需求进行数据后处理,让数据更加规范易懂。正如归一化可以使处理数据更加高效一样,针对特殊需求的后处理也可以让开发变得更加灵活和易用。只用在实际开发中灵活运用,才能让自己的代码更加优秀。

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

纠错
反馈