#
特点
Framer-motion这个库,在我看来有👏🏻两个核心和👍🏼两大能力。
两个核心
👉一个核心是motion这个组件:
通过这个组件我们可以使用具有更多能力的各种html元素组件。
通过motion.div这样的形式的元素组件能够使用很多Framer-motion提供的能力,来实现各种快捷的动效和交互。
任意元素都可以通过moition.[tagName]的方式来获取到对应的具有motion库能力的元素组件。
👉另一个核心是motionValue这个类型:
在Framer-motion库中,有很多非常强大的自定义hook,这些hook很多都和motionValue这个东西相关。
motionValue你可以先把它理解为是一种可以追踪元素变化状态的一种类型数据,通过各种hook,我们可以很方便的实现许多看似复杂的功能和效果。
👉 可以和第三方库结合使用,比如styled-components。
尤其是要使用一些🥳伪元素伪类的CSS能力的时候,可以通过结合这个库来实现。
鼠标悬浮和拖拽效果
#
使用提示
前提
👉 需要会使用React框架,所以你必须会写React代码~
引入库
👉 既通过NPM安装库的包,也可以通过在线ESM模块导入的方式,根据你项目情况自行选择合适的方式。
配合第三方库
教程适用的库版本
👉 这个教程制作的时候Framer-motion的大版本是10.0。
Framer-motion的核心使用逻辑基本是不变的,从1.0到10.0都没有改变,每次大版本更新基本上都是增删改查一些内容,所以不用担心。
如果涉及到教程中知识点的变化我会进行迭代更新。
特别提示
👉 motion组件元素可以和一般组件混用,并不是说motion组件只能嵌套motion组件。