界面是数据的反应,react组件是返回特定界面的函数
组件设计时的思考点
- 组件的整体结构设计
- 组件的属性改怎么设计?
- 数据如何更新
- 受控组件 & 非受控组件
- 如何保持组件的扩展性?
- 多个项目,如何重用组件?
3种粒度的组件化
- 基础组件
- 业务组件
- 插件,按需加载,不要放在基础组件库里面,不要污染业务代码
- 富文本编辑器
- 消息中心推送
插件是对业务最好的支持
- 消息中心:实时推送技术,插件思维,websocket
- 如果插件能满足功能,就开发插件,优先考虑插件
业务组件,有大量的业务可以抽象为业务组件
业务复杂度的考虑
- 交互的复杂性
- 数据结构和状态的复杂度
- 多项目之间的相互依赖
- 打包
- 工程化扩展的配置性
- 第三方组件库的二次开发
- 流程的规范性
- git flow
- commit信息
- eslint
- 单元测试
- CI/CD版本化
- git flow