基于React antd二次封装前端组件库思路

简介: 在目前团队中,前端组件主要使用的是antd,但是样式和设计那边总有些出入。在快速迭代下,不可能有精力去实现设计的要求,并且每个迭代的需求很可能并不相交,所以即使某个前端同学改了什么别人也不甚清楚,如果交给每个开发同学去修改,又无法做到统一,一旦发生变更将会产生庞大的工作量,而在敏捷迭代中,为了最大化拥抱业务、追求开发效率,很多开发同学也是直接套用之前的样式,没有及时抽成组件,写法上也有不兼容的情况,直接后果就是导致代码越来越不优雅,项目越来越笨重。基于以上原因考虑是否能做一个基于 antd 的组件库,一个基于 antd 封装的组件库,打成包,其中的组件可以慢慢的实现。

一、优化组件库基本需求
1.站在研发效率和时间成本的角度,设计组件库需要能提高协作效率。
2.设计组件库能成为团队的技术资产,新同事来公司后可以快速调用和上手,就算有同事离职,也不会对产品的整体体验造成影响。
3.设计组件库可以让产品体验统一,有助于团队建立统一的产品品牌认知,方便销售和运营包装、运营、策划产品方案。
二、封装思路
基于UI做定制化的组件库具体要做什么?
1.样式上:基于开源框架的组件封装成公司的产品UI设计的特有样式的组件,以及封装常用的布局样式。
2.功能上:沉淀开源框架中没有的常用组件。
三、开发准则
1.小步快跑快速迭代
对于组件封装,组件专门的组件组,负责收集用户使用过程中产生的操作体验问题,并对问题进行抽象、剥离、汇总,之后对目前使用的组件进行修改优化,值得注意的是组件小组对于组件的更新迭代需要考虑版本号,需要考虑向下兼容等问题。
2.测试组件库的可用性
对于组件的封装,需要进行完善的测试,对于组件完成后应该组织全员宣讲,并准备完善的API文档、demo实例,方便开发人员快速查询,在使用组件后应同步测试人员进行交互逻辑测试,这里应该是一个长期工作,建议保持组件迭代。
四、组件的类型划分
1.按照逻辑和视图划分:容器型组件(Container)与展示型组件(stateless)
2.按照状态划分:有状态组件和无状态组件
3.按照 UI 划分:布局组件和内容组件
4.纯组件和非纯组件

相关文章
|
9天前
|
前端开发 JavaScript API
React开发需要了解的10个库
本文首发于微信公众号“前端徐徐”,介绍了React及其常用库。React是由Meta开发的JavaScript库,用于构建动态用户界面,广泛应用于Facebook、Instagram等知名网站。文章详细讲解了Axios、Formik、React Helmet、React-Redux、React Router DOM、Dotenv、ESLint、Storybook、Framer Motion和React Bootstrap等库的使用方法和应用场景,帮助开发者提升开发效率和代码质量。
40 4
React开发需要了解的10个库
|
1月前
|
前端开发 JavaScript 网络架构
react对antd中Select组件二次封装
本文介绍了如何在React中对Ant Design(antd)的Select组件进行二次封装,包括创建MSelect组件、定义默认属性、渲染Select组件,并展示了如何使用Less进行样式定义和如何在项目中使用封装后的Select组件。
54 2
react对antd中Select组件二次封装
|
5天前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
|
6天前
|
存储 前端开发 JavaScript
🚀 10 个 GitHub 存储库,助你成为前端巨匠✨
本文介绍了10个极具价值的GitHub存储库,旨在帮助各级JavaScript开发人员提升技能。这些资源涵盖了从基本概念到高级算法、编码风格指南、面试准备等各个方面,包括经典书籍、实用工具和面试手册。无论您是刚入门的新手还是有经验的开发者,这些存储库都能为您提供丰富的学习资源,助您在JavaScript领域更进一步。探索这些资源,开启您的学习之旅吧!
24 0
🚀 10 个 GitHub 存储库,助你成为前端巨匠✨
|
10天前
|
资源调度 前端开发 JavaScript
React中classnames库使用
【10月更文挑战第7天】
|
1月前
|
前端开发
React给antd中TreeSelect组件左侧加自定义图标icon
本文介绍了如何在React中为Ant Design的TreeSelect组件的每个树节点添加自定义图标,并解决了因缺少key属性而导致的警告问题,展示了如何通过递归函数处理treeData数据并为每个节点添加图标。
32 2
React给antd中TreeSelect组件左侧加自定义图标icon
|
1月前
|
前端开发
react使用antd中的Checkbox实现多选
在React项目中,通过Ant Design的Checkbox组件实现多选。引入Checkbox,使用Checkbox.Group来管理Checkbox,设置`value`属性绑定选中项数组,通过`onChange`更新数组。维护一个全选状态,根据选中项数量与总数决定全选按钮状态。全选按钮的`onChange`事件用于控制所有Checkbox的选中状态。
36 1
react使用antd中的Checkbox实现多选
|
1月前
|
前端开发
React添加路径别名alias、接受props默认值、并二次封装antd中Modal组件与使用
本文介绍了在React项目中如何添加路径别名alias以简化模块引入路径,设置组件props的默认值,以及如何二次封装Ant Design的Modal组件。文章还提供了具体的代码示例,包括配置Webpack的alias、设置defaultProps以及封装Modal组件的步骤和方法。
50 1
React添加路径别名alias、接受props默认值、并二次封装antd中Modal组件与使用
|
1月前
|
前端开发
React技术栈-react使用的Ajax请求库实战案例
这篇文章介绍了在React应用中使用Axios和Fetch库进行Ajax请求的实战案例,展示了如何通过这些库发送GET和POST请求,并处理响应和错误。
40 10
React技术栈-react使用的Ajax请求库实战案例
|
28天前
|
前端开发 JavaScript 区块链
react18函数组件+antd使用指南-使用代码集合以及报错记录汇总
本文介绍了多个React开发中常见的问题及其解决方案,包括但不限于:1)`useForm`实例未连接到任何`Form`元素的警告及解决方法;2)监听页面滚动事件的实现方式;3)React 18与antd 5.8.6中定制主题的方法;4)React结合antd 4.x版本自定义主题色的步骤;5)解决`ResizeObserver loop`相关报错的技巧;6)处理React设计表单时遇到的CDN资源加载失败问题;7)解决onClick事件传参问题;8)修复类型错误等。每部分均提供详细分析与实用代码示例,帮助开发者快速定位并解决问题。
29 2