对 Element Ui 、Ant Design 二次封装的优点是什么?

2019-10-08 17:25:13 +08:00
 hoythan

很多人喜欢对 UI 框架进行二次封装。

例如 table 组件,封装几层,用自己定义一套参数的形式控制显示。这样带来的优点是什么?

我发现很多大公司都这么做。

分享优点即可

12631 次点击
所在节点    JavaScript
34 条回复
xuanbg
2019-10-22 17:55:30 +08:00
@fewok 凡事都要有度,过犹不及。我们在封装的时候就很注意不过度封装。
duan602728596
2019-10-22 17:56:06 +08:00
当然是为了 996 有事干啊。
linZ
2019-10-22 18:35:55 +08:00
@fewok 业务类型单一,封装后的组件才能复用(这种应该叫业务组件了吧),不然会出现各种魔改,或者属性过多还不如自己写的情况
Caballarii
2019-10-22 18:41:27 +08:00
antd 本来就是封装的别人的,又不是完全自主开发出来的
secondwtq
2019-10-22 23:12:41 +08:00
@hoythan #14 所以大公司可以没有自己的一套组件库,但是可以有自己的多套组件库 :)

@Asyncway Table 是个麻烦活,我做过,找了一圈的结果是没有一个开源组件能在保持基本性能的基础上完全满足各种乱七八糟的需求,所以自己封装了一个
其他组件其实都有类似的情况,但是 Table 是最麻烦的,因为技术上就无解。其他组件主要是这个组件库有 A,那个组件库有 B,业务上要 A B C,没办法,自己做吧
HytonightYX
2019-10-22 23:25:19 +08:00
@secondwtq 是这样的,table 的不同需求实在太多了。基本都是写完一个,别的页面直接复制过来改改名字,有新的函数再封装...做多了就成了二次封装的、自己用着顺手的 Table 了,哈哈
optional
2019-10-22 23:28:22 +08:00
代码复用罢了,一个项目中,一般逻辑相似,不写重复代码
DiamondYuan
2019-10-23 00:04:53 +08:00
@Caballarii antd 底层的 rc 组件和 antd 是同一批人写的。
kimown
2019-10-23 08:45:34 +08:00
kpi

不封装给别人用怎么讲功劳
justdoit123
2019-10-23 09:44:45 +08:00
简单的封装一下还是可以的。
SilentDepth
2019-10-23 21:15:05 +08:00
「如果产品突然修改某个页面的需求,可能仅仅只是在这个页面需要文字有不同的颜色,你就需要重新添加一个控制参数进行控制。」
难道直接使用 Element UI 可以规避这个问题?

「样式的改变应当通过样式覆盖的形式调整……UI 框架提供的组件已经是最小化的形式」
怎么说呢,「想法总是美好的」。
hoythan
2019-10-24 09:03:40 +08:00
@SilentDepth 用 Element UI 可以只修改产品需要修改的页面,不会影响到所有页面,也不会在所有页面都有条件判断。

如果要大改 样式 Element UI,正常人应该通过 用 Element UI 官方提供的 SCSS LESS 途径进行调整,而不是特意封装一层垃圾上去。
hoythan
2019-10-24 09:04:21 +08:00
@SilentDepth 你能提出这些观点很好,很好的说明你初入职场技术不行公司项目也不行,所以也没遇到过这些问题。
clare233
2019-10-26 22:33:40 +08:00
实际就算是阿里腾讯。。也大多有部门用的组件库是针对内部用的大的组件库做一层封装的情况,所以有啥担心的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/607129

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX