首页
/ Skeleton React 1.0.0 发布:现代化 UI 组件库的重大升级

Skeleton React 1.0.0 发布:现代化 UI 组件库的重大升级

2025-06-10 20:34:36作者:温玫谨Lighthearted

Skeleton 是一个现代化的 UI 组件库,专注于为开发者提供美观、易用且高性能的界面元素。它支持多种前端框架,包括 Svelte 和 React。本次发布的 Skeleton React 1.0.0 版本标志着该项目的一个重要里程碑,带来了全面的组件重构和功能增强。

核心升级:Zag.js 集成

本次更新的最大亮点是所有组件都集成了 Zag.js。Zag.js 是一个无头 UI 库,它提供了一套可访问、可组合的交互原语。通过这一集成,Skeleton 组件现在具备了:

  1. 更强大的交互能力:所有组件都获得了更精细的交互控制
  2. 更好的可访问性:自动处理 ARIA 属性和键盘导航
  3. 更一致的 API:跨框架的统一开发体验
  4. 动画支持:Tailwind 插件中新增了 CSS 动画效果

新增组件

1.0.0 版本引入了多个全新组件,丰富了开发者的工具箱:

  • 导航组件:包括 Navigation Rail、Navigation Bar 和 Navigation Tile,为应用提供专业的导航解决方案
  • 表单控件
    • Switch 开关组件
    • Segment Control 分段控件
    • FileUpload 文件上传组件
    • Tags Input 标签输入组件
    • Slider 滑块组件
    • Ratings 评分组件
  • 数据显示
    • ProgressRing 环形进度条
    • Pagination 分页组件

组件 API 重构

为了提供更一致的开发体验,多个组件的 API 进行了重大调整:

  1. Tabs 组件重构

    • 移除了 Tabs.Item 组件
    • 新增了 Tabs.Panels 组件
    • 实现了与 Svelte 版本更一致的 API
  2. 命名规范化

    • React 的 <Nav> 组件更名为 <Navigation>
    • 统一了组件命名约定
  3. 属性标准化

    • 修正了 TagsInput 组件中不一致的属性命名
    • 为 Segment 组件添加了 aria-labelledby 支持

样式与交互改进

  1. 视觉增强

    • 改进了全局和组件级别的焦点状态样式
    • 优化了 Switch 和 Slider 组件的焦点表现
    • 提升了 Ratings 组件标签文本的显示效果
  2. 主题支持

    • 基于主题生成器的改进调整了默认样式
    • 移除了不必要的样式类(如 NavBar 的额外高度类)
  3. 交互优化

    • Navigation Tile 现在支持手动管理选中状态
    • 文件上传组件获得了功能增强

技术架构调整

  1. 依赖管理

    • 将 react 和 react-dom 移至 peerDependencies
    • 添加 @skeletonlabs/skeleton 作为 peer-dependency
    • 支持 React 19
  2. 代码组织

    • 移除了 reactCompose 工具函数
    • 添加了 $lib 别名路径
    • 标准化了 "use client" 指令的使用
  3. 工具链升级

    • 将 Prettier 和 ESLint 配置移至仓库根目录
    • 更新了代码格式化规则

问题修复与优化

  1. 功能修正

    • 恢复了 Pagination 组件的 count 属性
    • 解决了 Pagination 替代模式下的页面计数问题
    • 修复了 ProgressRing 在 Safari 中 100% 显示的问题
  2. 性能优化

    • 移除了 Avatar 组件的 filter 属性
    • 为 Avatar 组件实现了 style 属性
  3. 稳定性提升

    • 解决了多个组件的测试回归问题
    • 为 Ratings 组件设置了正确的唯一 key

开发者体验改进

  1. 默认行为调整

    • ProgressRing 默认不显示标签(可通过 showLabel 启用)
    • 改进了 Ratings 组件的半星 SVG 默认样式
  2. 配置选项

    • 为 Pagination 添加了 showFirstLastButtons 属性
    • 为 Navigation 组件自动生成默认 ID
  3. 样式定制

    • 改进了按钮、徽章、芯片和表单元素的样式
    • 实现了更灵活的风格定制选项

总结

Skeleton React 1.0.0 是一个全面革新的版本,不仅引入了大量新组件,还对现有组件进行了深度重构。通过集成 Zag.js,组件获得了更强大的交互能力和更好的可访问性。API 的标准化和样式的优化进一步提升了开发体验。对于正在使用或考虑使用 Skeleton 的 React 开发者来说,1.0.0 版本无疑是一个值得升级的重要里程碑。

登录后查看全文
热门项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
162
2.05 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
96
15
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
199
279
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
60
16
Git4ResearchGit4Research
Git4Research旨在构建一个开放、包容、协作的研究社区,让更多人能够参与到科学研究中,共同推动知识的进步。
HTML
22
1
apintoapinto
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
0
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
950
557
risc-v64-naruto-pirisc-v64-naruto-pi
基于QEMU构建的RISC-V64 SOC,支持Linux,baremetal, RTOS等,适合用来学习Linux,后续还会添加大量的controller,实现无需实体开发板,即可学习Linux和RISC-V架构
C
19
5