6个常用的React组件库

2022-12-08 0 866

6个常用的React组件库译者 | Max Rozen译者者 | 王磊策画 | 小光

责任编辑起初正式发布于 maxrozen.com 中文网站,经原作许可由 InfoQ 英文站译者并撷取。

Ant Design

6个常用的React组件库

工程项目镜像:Ant Design包大小不一(源自 BundlePhobia):增大后 1.2mB,增大 +gzip 填充后 349.2kB,透过摇树增加表面积。

缺点:

AntDesign 内含了大批全力支持文件格式,有两个街道社区,主要包括两个暗含玻璃钢模版的原则上工程项目(AntDesignPro);需用来加速结构设计前台 / 外部应用领域的 UI 库。

缺点:

缺少可出访性;表面积非常大,预计今年会对操控性造成非常大负面影响;环境污染你的 CSS(期许加进!important 以避免它式样化你的非 Ant 模块)。Bootstrap

6个常用的React组件库

其实我主要把 Bootstrap 看作是两个 UI 库。它不会帮你赢得任何结构设计奖项,但可以用来完成一些边缘工程项目和最小可行产品。

不过这取决于你要使用它的目的。如果你不熟悉 React,那么它是两个很好的入门库。对于经验更丰富的开发人员来说,他们可能会去研究 styled-components / Emotion。

有两个流行的库暗含 Bootstrap 的 React 绑定,我个人仅使用 Reactstrap。

工程项目镜像:React Bootstrap包大小不一(源自 BundlePhobia):增大后 111kB,增大 +gzip 填充后 34.4kB,透过摇树增加表面积工程项目镜像:Reactstrap包大小不一(源自 BundlePhobia):增大后为 152.1kB,增大 +gzip 填充后 39.4kB,透过摇树增加表面积

缺点:

暗含 React 绑定的 Bootstrap 库,大家都喜欢;透过 CSS-in-JS 轻松自定义;它已经流行了足够长的时间了,因此不必担心错误 / 问题;加速上手;没有 jQuery 依赖,因为它已在 React 中完全重新实现。

缺点:

这是 Bootstrap:如果你不做自定义,则你的中文网站将与其他中文网站没什么区别。

Bulma

6个常用的React组件库

Bulma 与责任编辑介绍的其他库不太一样,因为 Bulma 是纯 CSS 框架,不需要 JS。你可以选择直接使用 Bulma 中的类,也可以使用包装库,例如 react-bulma-components。

工程项目镜像:Bulma工程项目镜像:react-bulma-components包大小不一(源自 BundlePhobia):增大后 179kB,增大 +gzip 填充 20.1kB

缺点:

不会让你的中文网站长一副 Bootstrap 的样子;适合加速启动和运行;现代化特性(底层是 Flexbox/ 网格)。

缺点:

可访问性:虽然有一些,但没有像其他库那样严格遵守 WCAG 准则。

Chakra UI

6个常用的React组件库

工程项目镜像:ChakraUI包大小不一(源自 BundlePhobia):增大后为 326.2kB,增大 +gzip 填充后为 101.2kB,透过摇树增加表面积

缺点:

可出访性:遵循 WAI-ARIA 准则,模块使用 aria 标签;Discord 服务器提供全力支持;易于定制(暗含主题全力支持);高度模块化,因此摇树实际上会删除你不使用的代码。

缺点:

相当新。

注意:

它非常接近 v1 版本,因此请注意 v0.8.0 之后的重大更改。

Material UI

6个常用的React组件库

MaterialUI 是我又爱又恨的库之一。过去,它帮助我扛过了一些非常紧张的项目死线,但到最后我总是尽快把它从所有角落赶走。

过去,你只能透过编写 JSS 源自定义 MaterialUI 的式样,但值得庆幸的是,现在可以使用 styled-components 和 Emotion 覆盖式样。

工程项目镜像:Material UI包大小不一(源自 BundlePhobia):增大后 325.7kB,增大 +gizp 填充 92kB,透过摇树增加表面积

缺点:

完善的文件格式图标库非常大简单易用(一开始的情况)

缺点:

定制起来既困难又痛苦,但却很有必要(以改善视觉效果);操控性:会渲染过多的 DOM 节点;你的应用领域看起来会像谷歌的产品(对于某些人来说,这可能代表一种专业风格)。Semantic UI

6个常用的React组件库

项目镜像:Semantic UISemantic-UI-React包大小不一(源自 BundlePhobia):增大后为 300.8kB,增大 +gzip 填充后为 80.9kB,透过摇树增加表面积。

缺点:

可组合(使用 as prop 传递模块)易于定制好用的文件格式用户很知名(Netflix 外部使用,Amazon 正式发布的产品也在用)TypeScript 全力支持

缺点:

开源工程项目的潜在不确定性。

查看 issue:

https://github.com/Semantic-Org/Semantic-UI/issues/6109

https://github.com/Semantic-Org/Semantic-UI/issues/6413

街道社区运行的 fork:

https://github.com/fomantic/Fomantic-UI

荣誉奖Reach UI

ReachUI 是两个底层模块库,允许开发人员在其结构设计系统中构建可出访的 React 模块。

没有需用的包大小不一,因为每个模块都原则上导出为自己的 npm 包。

Reakit

Reakit 是另两个底层模块库。从技术上讲它是两个 UI 库,但不附带 CSS。因此你仍然需要找到一种式样解决方案。

包大小不一(源自 BundlePhobia):增大后为 119.9kB,增大 +gzip 填充后为 32.1kB,透过摇树增加表面积。Rebass

6个常用的React组件库

我关注 Rebass 已经有一段时间了。它是两个功能强大的模块库,没有自带主题,但可以轻松改变主题。关于它的实践示例,请参见其演示。

工程项目镜像:Rebass

包大小不一(源自 BundlePhobia):增大后 43kB,增大 +gizp 压缩 14.4kB,透过摇树增加表面积。

提示

在编写这份列表时,我曾试着避免加入商业化的结构设计系统,但是有些系统(Material UI)已得到广泛采用,因此没有它们列表就不完整了。

我还特意省略了 CSS-in-JS(如 styled-components 和 Emotion)以及实用工具 CSS 系统(如 Tailwind),因为它们不是明确的“React 模块库”,而是用来制作模块的工具。

英文原文

https://maxrozen.com/guide-to-component-ui-libraries-react/

进群”申请入群。大家可以和 InfoQ 读者一起畅所欲言,和编辑们零距离接触,超值的技术礼包等你领取,还有超值活动等你参加,快来加入我们吧!

6个常用的React组件库

6个常用的React组件库

点个在看少个 bug 👇

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务