前言
在前端开发中,我们常常需要处理并转化前端数据。而使用 normalizr-postprocess 包,可以对数据进行归一化处理,以及针对特殊需求进行后处理,使数据更加规范易懂。本教程将介绍该 npm 包的用法及样例。
安装
可以通过 npm 命令进行该包的安装,命令如下:
npm install normalizr-postprocess
安装后可以在项目的 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