SuperAPI AI 工具集

motion-v13

前端与建站

查看项目

更新于 10-15 14:50

技能介绍

Motion v13 是一个面向 React 的动画库,其 npm 包名为 motion(^13),前身为 framer-motion。使用时需从 motion/react 导入,而非 framer-motion。

用途 适用于拖拽(drag)、滚动联动动画(scroll-linked)、布局动画(layout)、手势(gestures)以及共享元素过渡(shared-element transitions)。常见应用场景包括拖放、滚动动画、模态框、轮播、视差效果和 AnimatePresence。在实现动画时,建议优先考虑 CSS 或 tw-animate-css(参见 @.cursor/rules/frontend/design.mdc)。

主要能力 支持手势、滚动、布局与 SVG 动画。提供 motion 与 AnimatePresence 等组件,用于处理进入/退出动画与共享元素过渡。

使用方式 安装命令:pnpm add motion。导入方式:import { motion, AnimatePresence } from "motion/react"。

版本说明 文件夹命名中的 major 版本跟随 npm 上的 motion 包,而非技能文件的修订版本。本仓库可能未在 package.json 中列出 motion(优先使用 CSS/tw-animate-css);保留 motion-v13 命名是为了与 pnpm add motion 保持一致。对于已有 npm 主版本的库,不要臆造 -v1 之类的后缀。

升级注意 Motion 13 移除了 @emotion/is-prop-valid 这一可选依赖。如果样式化的 motion 组件将 CSS-in-JS 属性泄漏到 DOM,可通过 MotionConfig 注入 isValidProp,或使用 motion.create(StyledDiv) 进行组合。详见 https://motion.dev/docs/react-upgrade-guide。

参考资料 与旧版 Framer Motion API 的差异修正见 rules/motion.md;常见模式见 references/common-patterns.md;Next.js 的 'use client' 集成见 references/nextjs-integration.md;性能优化见 references/performance-optimization.md。