夜雨聆风学习资料网

ARTICLE · 1213454

React Bits:211个动效组件源码直接拿走

React Bits:211个动效组件源码直接拿走

一个 4.8 万星的前端组件库,打开它的官网,你看不到 npm install——它给你的是一条 CLI 命令,或者干脆让你把源码整个复制走。装完之后,这个库在你的 package.json 里一行都不存在。

它叫 React Bits,作者把定位写得很直白:React Bits is not a dependency(不是一个依赖)。在什么都想做成订阅的年代,这种「把东西给你,然后从你的项目里消失」的做法,值得认真聊一聊。

⏱️ 30 秒速览

维度
要点
是什么
动效组件库:React Bits(48,209 星 / 211 组件)+ Vue Bits(4,544 星 / 204 组件),同一作者
交付方式
源码复制 / shadcn CLI / MCP 让 AI 帮你装,不进 package.json
招牌组件
Aurora 极光背景、Ballpit 物理小球、Spotlight Card 聚光卡片、Split Text 逐字浮现
许可证
MIT + Commons Clause:可商用,但不能把组件本身打包出售
适合谁
官网首屏、落地页、作品集想加「记忆点」的前端;不适合当设计系统用

① 它是两个库,一个作者

📦 React Bits(reactbits.dev):2024 年 8 月开源,作者 David Haz,目前 48,209 星、211 个组件,JS/TS、纯 CSS 或 Tailwind 任选。

📦 Vue Bits(vue-bits.dev):2025 年 7 月由同一作者移植,不是第三方套壳,204 个组件,统一 Vue 3 + TypeScript + Tailwind。两边组件数量只差 7 个,基本对齐。

🗂️ 211 个组件按分类数一遍:背景类 58 个(极光、粒子、流体、着色器)、可用零件 46 个(卡片、Dock、画廊)、交互动效 40 个(磁吸、点击火花)、微交互 34 个(按钮、开关、加载器)、文字动效 33 个(逐字浮现、解密、打字机)。背景类占了近三成——大多数人是拿它给落地页第一屏加一层能动的背景。

📌 划重点:两个站点同一作者维护,选 React 还是 Vue 只看你的技术栈,组件体验几乎一致。

② 四条设计原则,每条都在「反套路」

官方把设计原则写成四条,逐条读下来,每条都在拒绝一种行业惯例:

🔹 Free For All(代码归你,随便改)——拒绝「封装成黑盒,你只能调参数」;

🔹 Prop-First(用 props 调外观)——拒绝「想改样式就得 fork 或者 hack」;

🔹 Fully Modular(只装你要的那个组件)——拒绝「引一个组件,拖进来一整棵依赖树」;

🔹 Free Choice(React 版)——JS 还是 TS、纯 CSS 还是 Tailwind,你定。Vue 版反过来只给「单一技术栈」,因为 Vue 生态相对统一,干脆省掉选型成本。

📌 划重点:同一个作者、两种策略——React 生态分裂就给你选择,Vue 生态统一就只给一种答案。这个分寸感,比组件本身更值得学。

③ 招牌组件速览:7 个最出圈的

🌌 Aurora(极光背景)——全站最出名的一个。纯自播放,WebGL 实时渲染的光晕缓慢流动,首页背景首选。

⚽ Ballpit(物理小球)——一堆小球在重力下碰撞堆叠,真实物理模拟,每次画面都不一样。

🫧 Meta Balls(融合液滴)——球体靠近时「粘」成一体,跟着光标聚集。以前得写着色器,现在一个组件搞定。

🔦 Spotlight Card(聚光卡片)——光标划过卡片时,一束聚光灯跟着打亮局部。不靠边框阴影,靠光照。

🃏 Card Swap(换牌卡片堆)——三张卡片依次向前翻,自播放循环,适合放产品特性轮播。

🔢 Count Up(数字滚动)——数字从 0 滚到目标值,进入视口触发一次,数据类落地页几乎人手一个。

✍️ Split Text(逐字浮现)——文字一个字一个字浮出来,挂载时播一次,动效库的入门款。

📌 划重点:官方自己劝你「一页别放超过 2~3 个」——它的定位是点缀,不是骨架。挑 1~2 个放进首屏,是最常见也最稳的用法。

④ 三条安装路径:复制、CLI,或者让 AI 帮你装

🛠️ 路径一:手动复制。每个组件的 Code 标签页就是完整源码,通常单文件(.vue 或 .tsx),复制进项目就完事。依赖外部库(如 gsap)会在标签页里列出来。

🛠️ 路径二:CLI。它暴露了 shadcn 格式的 registry,用 npx shadcn 直接拉源码进项目。

🤖 路径三:MCP——让 AI 帮你装。这是最值得讲的一条:先在 components.json 里注册它的 registry,再装 shadcn 的 MCP server,之后直接对 AI 说人话:

// components.json 注册 registry{  "registries": {    "@vue-bits": "https://vue-bits.dev/r/{name}.json"  }}// 装 shadcn MCP servernpx shadcn@latest mcp init --client claude

之后可以对 AI 直接说:「把 Vue Bits 的 Dither 背景加到页面上,改成紫色」「用 FadeContent 加一个滚动淡入的新区块」。

📌 划重点:它没有自己造 MCP server,而是把自己注册成 shadcn registry 里的一个源——零维护成本,你也不用多装一个 AI 工具。面对 AI 时代,「挂进现有生态」比「自建一套」聪明得多。

⑤ 许可证红线:MIT 加了一条例外

⚖️ React Bits 不是纯 MIT,而是 MIT + Commons Clause v1.0。核心一句话:你可以在任何商业项目里用它,只要不把组件本身拿去出售、再授权或再分发——包括单独打包、做成移植版。

✅ 可以做
❌ 不可以做
商业项目、公司官网、客户交付
打包成模板/UI 套件出售
改源码、改样式、改逻辑
改名后再授权给别人
作为收费产品的一部分
做成「移植版」再分发
内部工具、开源项目使用
上传到自己的组件市场当自有资产

💡 「包括做成移植版」这条是专门加的,挡的正是把别人的组件库换个框架就发布成「XX Bits」的玩法。对写业务、做官网、接外包的普通开发者,这条限制几乎不影响你。

📌 划重点:做模板站、UI 套件、低代码平台、组件市场的朋友注意——你可以用它做产品,但不能把它本身当作产品。

⑥ Pro 边界与使用建议

💎 免费版与 Pro 是两套东西:免费版 211 个组件开源;付费的 React Bits Pro 另有 150 个组件(pro.reactbits.dev),多出 3D & Shaders 这一类(30 个)——滚动 3D 画廊、着色器卡片、粒子图像这些更吃性能的效果都划在 Pro。别把 211 和 150 加起来当成「361 个免费组件」。

⚠️ 官方的三条性能忠告(写在文档 Performance 段):① Less Is More,一页不超过 2~3 个组件;② 移动端考虑关掉某些效果、换静态占位;③「你的设备可能是顶配,但你要对用户客气一点」,上线前多设备测试。

🧩 部分组件有额外依赖:文字类动效普遍依赖 gsap,3D 与着色器类依赖 three,Code 标签页会列出来,装之前心里有数。

🎯 今天就可以做的一件事:如果你已经在用 shadcn 系工具,把它的 registry 加进 components.json,然后对 AI 说一句「给我加一个 Aurora 背景,调成蓝色」。你会亲身体会到「源码归你」和「装了个依赖」的差别——改完不满意,删掉那个文件就干净了。

📌 划重点:在一个习惯把一切都变成依赖和订阅的生态里,「我把东西给你,然后从你的项目里消失」本身就是一种产品主张。两个站点:reactbits.dev(React 版)、vue-bits.dev(Vue 版),仓库在 GitHub 搜 DavidHDev/react-bits 与 DavidHDev/vue-bits。

你的项目里现在引了多少个「只是为了一个效果」的依赖?

评论区聊聊。觉得有用就点个「在看」,转发给正在为落地页发愁的朋友。

相关学习资料