
项目概述
Number Flow(number-flow.barvian.me)是一个开源的高质感动态数字滚动组件库,拥有 7,600+ GitHub Stars。它专注于解决常规数字计数器存在的布局抖动与动画生硬问题,通过将单个数字字符独立拆解并结合物理弹簧曲线(Spring Physics),实现极其丝滑自然的数值流转与货币格式化动效。
核心特性
- 🔢 字符级弹簧形变过渡:数字位、小数点、千分符与货币符号平滑渐变位移,彻底杜绝外层容器跳动抖动。
- 🌐 全主流前端生态同构:官方提供
@number-flow/react、@number-flow/vue、@number-flow/svelte与原生 JS 独立包。 - 🌍 原生 Intl.NumberFormat 支持:开箱即用支持全球法定货币、百分比、紧凑单位与各国语言本地化格式。
- ♿️ 无障碍读取完全合规:屏幕朗读器直接获取最终数值结果,不会受到滚动中间帧的字符干扰。
快速上手与示例代码
# 安装 React 版组件
npm install @number-flow/reactimport React, { useState } from 'react';
import NumberFlow from '@number-flow/react';
export function RevenueMetric() {
const [value, setValue] = useState(14850.50);
return (
<div className="p-5 rounded-2xl bg-card border border-border shadow-xs flex flex-col gap-2">
<span className="text-xs font-medium text-muted-foreground">累计总营收 (ARR)</span>
<NumberFlow
value={value}
format={{ style: 'currency', currency: 'USD' }}
className="text-3xl font-bold font-mono text-foreground"
/>
</div>
);
}技术选型建议与适用场景
- 非常适合:金融仪表盘、电商交易大屏、SaaS 计费结算、实时数据监控及需要展示动态数值高光卡片的产品。
- 与常规 CountUp 对比:Number Flow 具备独立的字符级定位与遮罩渲染,视觉质感与微动效细腻度远超传统累加器。
讨论与评价
分享你对该组件库的上手体验、优缺点或建议...
暂无讨论。欢迎分享你对该组件库的上手体验、优缺点或建议!
相关组件推荐
基于同类与技术栈推荐Kinetics (Colorion)
614
基于真实弹簧物理建模的现代 Web 微交互动效库,收录 150+ 交互案例,同时提供纯 CSS 贝塞尔曲线、React 代码与 AI 智能体提示词。
动效动画CLI 工具源码拷贝+2
动效动画详情
23rd
192
由 radiumcoders 打造的开源 shadcn/ui 组件注册表,提供 WebGL 着色器、趣味 404 与交互式展示组件,Copy-Paste 装进仓库即装即改。
动效动画源码拷贝React+2
动效动画详情
nxui (Vue)
215
专为 Vue 3 与 Nuxt 4 打造的高颜值动效组件库,收录 230+ 款组件,基于 Tailwind CSS v4 与 motion-v 构建,支持 shadcn 源码复用模式。
动效动画源码拷贝Tailwind 生态+2
动效动画详情