目录

UI库架构设计

UI库架构设计

  • 分层
    • rc-xxx,提供基础组件,unstyled component (headless) ,只具备功能交互,不具备UI表现
    • 样式体系
    • 基础组件
    • 复合组件,Search:Input + Select ,IconButton:Icon + Button
    • 业务组件
  • 解耦
    • 对于每个组件都需要定义样式、ts、类型、基础操作、工具方法
  • 响应式设计
    • 媒体查询 media query、ResizeObserver、grid布局

全局状态

  • 全局状态,基础配置、国际化配置、主题配置,react >> Context 、useSyncExternalStore,vue >> vue-demi
  • 局部状态,表单场景,受控和非受控(状态是否跟表单值双向绑定)
    • 受控:<input value={v} onChange={(v)=>setV(v)}
    • 非受控 defaultValue + ref

样式体系与主题设计

  • Color Tokens:颜色色值系统,(antdDesign、arcoDesign (css in js方案)| mantineUI | mui |shadcn/ui)
  • 样式模块化方案:
    • css-in-js(弊端:运行时(运行时的内存损耗)、srr支持不好):emotion、styled-component
    • module css
  • 样式优先级与覆盖:控制样式优先级

模块化

  • 可复用性
  • 公共方法:颜色计算函数,格式化处理,本地化,工具函数

组件开发流程

  • 工程架构:monorepo,core + components + hooks +utils ...

  • TypeScript

  • 流程化、规范化、自动化,

    • script如何定义(CI/CD 源头)
    • 规范化(eslint、stylelint、commitlint)
    • 颜色值生成,自动构建,增量构建,构建缓存
  • 构建打包:rollup、esbuild、swc

  • 测试,单元测试,vitest,jest+react-testing-library

本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
江沉晚呤时1 天前
C# 状态模式深度解析:构建灵活的状态驱动系统
开发语言·javascript·数据库·ui·ajax·c#·ecmascript
benben0442 天前
Unity3D仿星露谷物语开发34之单击Drop项目
游戏·ui·unity·游戏引擎
benben0442 天前
Unity3D仿星露谷物语开发33之光标位置可视化
游戏·ui·unity·游戏引擎
ailinghao2 天前
使用Cusor 生成 Figma UI 设计稿
ui·ai·figma
湛谷Gooyuit3 天前
LVGL修改标签文本,GUI Guider的ui不生效
ui
baivfhpwxf20233 天前
WPF 免费UI 控件HandyControl
ui·wpf
夏之小星星3 天前
element-ui自制树形穿梭框
前端·javascript·ui·elementui·vue
Kika写代码3 天前
【Android】UI开发:XML布局与Jetpack Compose的全面对比指南
android·xml·ui
cwtlw3 天前
PhotoShop学习04
学习·ui·photoshop
baivfhpwxf20233 天前
WPF 登录页面
ui·wpf