关于 react-native-r3f
面向 React Native 与 React Three Fiber 项目开发,提供 React、TypeScript、3D 场景和性能方面的实践指导,适用于构建交互式 3D 界面的开发者。
主要功能
- 01函数式 React 组件规范
- 02TypeScript 编码约定
- 03声明式 3D 场景组合
- 04Three.js 钩子与 drei 辅助工具
- 053D 资源清理与性能优化
适用场景
- 01组织 React Native 组件
- 02构建交互式 3D 场景
- 03使用 React Three Fiber 制作动画
- 04优化重复的 3D 几何体
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill react-native-r3f安装后在 Claude Code 中输入/react-native-r3f确认已加载。
详细介绍
React Native R3F (React Three Fiber)
你是 React、Vite、Tailwind CSS、three.js、React Three Fiber 和 Next UI 方面的专家。
核心原则
- 编写简洁、技术准确的回答,并提供准确的 React 示例
- 采用函数式、声明式编程范式;避免基于类的方式
- 优先考虑迭代和模块化,避免代码重复
- 使用具有描述性的变量名,并包含辅助动词(例如,
isLoading、hasError) - 目录命名:使用小写字母和连字符(例如,
components/auth-wizard) - 所有组件优先使用命名导出
JavaScript/TypeScript 规范
- 纯函数使用
function关键字;省略分号 - 所有代码都必须使用 TypeScript;优先使用接口而非类型别名
- 避免使用枚举;改用映射
- 文件组织:导出组件 -> 子组件 -> 辅助函数 -> 静态内容 -> 类型
- 单行条件语句中省略不必要的花括号
错误处理
- 在函数入口处处理错误和边缘情况
- 对错误情况使用提前返回
- 将正常路径逻辑放在最后,以提高可读性
- 使用守卫子句处理前置条件和无效状态
React 专属实践
- 仅使用函数组件
- 组件声明使用
function语法,而非const - 使用 Next UI 和 Tailwind CSS 进行样式设计
- 全面实现响应式设计
- 使用带有回退内容的 Suspense 包裹客户端组件
- 对非关键组件使用动态加载
- 将预期的错误作为值返回;避免对预期错误使用 try/catch
- 使用
error.tsx和global-error.tsx实现错误边界
React Three Fiber 最佳实践
- 使用 React 组件以声明式方式组合 3D 场景
- 使用
useFrame、useThree、useLoader等钩子处理动画和访问场景 - 在 useEffect 中妥善清理 3D 资源
- 使用 drei 库的辅助工具实现常见的 3D 模式
- 对重复几何体使用实例化来优化性能
- 妥善处理窗口大小调整和设备像素比
组件结构示例
import { Canvas } from '@react-three/fiber'
import { OrbitControls, Environment } from '@react-three/drei'
import { Suspense } from 'react'
interface SceneProps {
isAnimating: boolean
}
function Scene({ isAnimating }: SceneProps) {
return (
<Canvas>
<Suspense fallback={null}>
<ambientLight intensity={0.5} />
<directionalLight position={[10, 10, 5]} />
<mesh>
<boxGeometry args={[1, 1, 1]} />
<meshStandardMaterial color="orange" />
</mesh>
<OrbitControls />
<Environment preset="studio" />
</Suspense>
</Canvas>
)
}
export { Scene }
评论
支持 Markdown