关于 react-bits
react-bits 是用于在 React 和 Next.js 项目中集成、定制及贡献动画组件的技能,涵盖安装、动画配置、性能注意事项和仓库贡献流程。
主要功能
- 01动画 React 组件集成指导
- 02Vite 与 Tailwind CSS v4 集成
- 03GSAP 和 Three.js 定制建议
- 04组件生成与贡献流程
适用场景
- 01为 React 项目添加文字或背景动画效果
- 02调试 GSAP 时间轴或 Three.js 画布配置
- 03创建并贡献新组件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ akillness/ jeo-skills --skill react-bits安装后在 Claude Code 中输入/react-bits确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
SKILL.toonevals/evals.jsonreferences/contributing-focus.mdlocal-setup.mdproject-structure.mdscripts/fetch-docs.sh详细介绍
react-bits
版本 1.0.0
DavidHDev/react-bits
2026 年 1 月
注意:
本技能提供关于集成、定制和贡献react-bits的指导——这是规模最大、创意最丰富的动画 React 组件库。
内容涵盖 Vite 4/5/6、Tailwind CSS v4、Three.js/Fiber、GSAP 和 Framer Motion 集成。
何时使用此技能
- 需要将富有创意的动画 React 组件(文本动画、背景效果、交互式 UI 元素)集成到 React/Next.js 项目时。
- 需要定制或调试现有的
react-bits组件(例如调整 GSAP 时间线、Three.js 画布配置或 Tailwind 类)时。 - 按照
feat/<feature-name>分支约定,为react-bits仓库贡献新的动画组件时。
何时不使用此技能
- 处理标准的非动画 UI 组件时(请改用 Radix、Shadcn 或 Tailwind UI 等标准组件库)。
- 由于严格的包体积限制,目标项目无法支持体积较大的动画库(Three.js、GSAP、Framer Motion)时。
项目概况
- 技术栈:React、Vite、Tailwind CSS v4、GSAP、Three.js(
@react-three/fiber、@react-three/drei)、Framer Motion(motion)、jsrepo(用于管理注册表)。 - 注册表:使用
jsrepo构建和分发组件。 - 脚本:
npm run dev:并行运行jsrepo build --watch和 Vite 文档服务器。npm run build:构建注册表、生成 LLMs 文本和站点地图,并构建 Vite 网站。npm run new:component:使用scripts/generateComponent.js生成新的组件模板。npm run lint:使用 ESLint 检查代码库。npm run format:使用 Prettier 格式化代码库。
说明
步骤 1:集成和安装组件
- 从
react-bits目录中找到所需组件(例如,文本动画、背景、UI 组件)。 - 在目标项目中安装所需的对等依赖(例如,根据组件需要安装
gsap、motion、@react-three/fiber、lucide-react)。 - 复制组件源代码,或在目标项目已配置
jsrepo的情况下使用它。
步骤 2:定制和性能优化
- Tailwind CSS:确保已配置 Tailwind CSS(源仓库使用 Tailwind v4)。
- GSAP 上下文:定制 GSAP 动画时,务必在
useLayoutEffect中清理时间线和补间,或使用@gsap/react的useGSAPhook,以防止内存泄漏以及在 React 18/19 Strict Mode 中重复触发。 - Three.js 画布:确保
<Canvas>组件尺寸设置正确,并在卸载时释放 WebGL 上下文。
步骤 3:贡献新组件
- 运行
npm run new:component,生成新组件的脚手架。 - 使用简洁的 React 模式,在
src/components/下实现组件。 - 在本地文档服务器(
npm run dev)中验证组件是否正常工作。 - 提交前运行
npm run lint和npm run format。 - 创建名为
feat/<feature-name>的分支,并向main提交 PR。
最佳实践
- 清理 GSAP:卸载时务必清理 GSAP 时间线和补间,以防止内存泄漏。
- 自包含组件:确保组件不导入用户通过
jsrepo安装组件时无法获取的内部工具。 - 分支命名:所有拉取请求均遵循
feat/<feature-name>分支命名约定。
示例
示例 1:安全的 GSAP 动画组件
import { useRef } from 'react';
import gsap from 'gsap';
import { useGSAP } from '@gsap/react';
export default function AnimatedBox() {
const container = useRef<HTMLDivElement>(null);
useGSAP(() => {
gsap.to('.box', { rotation: 360, duration: 2, repeat: -1, ease: 'linear' });
}, { scope: container });
return (
<div ref={container}>
<div className="box w-16 h-16 bg-blue-500 rounded" />
</div>
);
}
参考资料
| 文件 | 用途 |
|---|---|
package.json | 项目依赖(GSAP、Three.js、Tailwind v4)和脚本 |
CONTRIBUTING.md | 分支命名约定(feat/)和 PR 指南 |
jsrepo.config.ts | 用于分发组件的注册表配置 |
评论
支持 Markdown