用途
React Spring Animation Principles 是一个面向 React 开发者的动画实现技能,目标是在使用 React Spring 的弹簧物理动画系统时,落地迪士尼十二项动画原则。资料以代码片段的方式,逐条给出每项原则在 React Spring 中的写法,适合需要为界面元素、角色或交互组件添加自然、有物理感的动效的场景。
主要能力
资料覆盖的十二项动画原则及对应实现方式如下:
- 挤压与拉伸(Squash and Stretch):通过 useSpring 控制 scaleX、scaleY,并配合 tension、friction 配置。
- 预备动作(Anticipation):使用 api.start 先做反向蓄力,再执行主动作。
- 舞台调度(Staging):用多个 useSpring 分别控制背景模糊、透明度与主体缩放、层级。
- 逐帧与关键帧(Straight Ahead / Pose to Pose):在 useSpring 的 to 中传入多个关键位置数组。
- 跟随与重叠动作(Follow Through and Overlapping Action):为身体、头发、披风分别设置弹簧并加入 delay 与不同 friction。
- 慢入慢出(Slow In and Slow Out):通过 tension 与 friction 的组合控制加减速,高张力低摩擦偏快,低张力高摩擦偏慢。
- 弧线(Arc):在 to 中使用 async/await 依次经过多个坐标点形成弧线路径。
- 次要动作(Secondary Action):主按钮缩放之外,为图标添加延迟旋转。
- 时间节奏(Timing):定义 fast、normal、slow、wobbly 等配置,或使用 config.gentle、config.stiff、config.slow 预设。
- 夸张(Exaggeration):放大 scale、rotate 并使用低 friction 制造过冲。
- 立体造型(Solid Drawing):通过 transform 的 perspective、rotateX、rotateY 构建立体感。
- 吸引力(Appeal):悬停时缩放卡片并改变阴影,配合 config.gentle。
此外,资料还展示了 useTrail 用于错峰(stagger)动画的写法。
使用方式
资料以代码示例为主,未提供安装命令或完整项目配置。核心 API 包括:useSpring(单个动画)、useSprings(多个弹簧)、useTrail(错峰动画)、useChain(序列动画)、useTransition(挂载/卸载动画)。物理参数包括 tension、friction、mass、velocity;配置预设包括 gentle、stiff、slow、molasses。
适用场景
适合在 React 项目中实现具有物理感的界面动效,例如按钮反馈、卡片悬停、列表错峰入场、元素挂载与卸载过渡,以及需要遵循经典动画原则的角色或图形动画。
限制
资料未说明所支持的 React 或 React Spring 版本、浏览器兼容性、性能表现、包体积、收费或许可信息,也未提供安装步骤与完整示例工程,这些内容暂未提供。