Framer Motion: Animate React Easily

Framer Motion:轻松制作 React 动画

改善应用程序用户体验的一个重要部分是动画。在 React 生态系统中创建复杂而流畅的动画经常被证明是困难的,需要开发人员使用多种工具或与 CSS 动画作斗争。这就是 Framer Motion 的用武之地。Framer Motion 是一个强大的工具,它简化了复杂动画的创建,使开发人员无需大量努力即可更轻松地获得流畅和专业的结果。

Framer Motion 是一个专为 React 创建的强大且适应性强的工具包,可简化动画创建过程。它提供了一套全面的工具和功能,可简化动画的实现,即使是动画经验有限的开发人员也可以使用它。在这篇博客中,我们将深入探讨 Framer Motion 必须提供什么。让我们探索它如何提供使您的 React 应用程序脱颖而出、提升用户体验并真正让它们大放异彩所需的额外火花。

什么是 Framer Motion?

Framer motion 是简单的 React 库,用于为项目添加无缝且美丽的动画。它具有广泛的动画功能,这些功能既强大又易于访问。

React 中的 Framer 运动入门

首先,我们需要一个安装了 framer 库的 React 应用程序。要在 React 应用程序中安装 framer-motion,请运行

npm install framer-motion

或者,如果您使用的是 YARN,请运行

yarn add framer-motion

Framer 的组件motion

Framer Motion 的核心是组件,这是一个强大而灵活的工具,可将标准的 React 组件或 HTML 元素转换为动画奇观。例如,每个 HTML 和 SVG 元素都有一个运动组件。当您使用运动组件时,您不再只是使用静态元素。相反,您可以访问一组控制动画、手势等的属性。motionmotion.divmotion.circle

创建一个 React 组件并使用该组件,从 “framer-motion” 导入它motion

import React from 'react';
import { motion } from 'framer-motion';

function MyAnimatedComponent() {
  return (

      Hello, animations!

  );
}

export default MyAnimatedComponent;

animate:animate 属性允许我们在提供的对象上执行各种变换动画,例如在 X 轴和 Y 轴上平移、旋转、缩放和更改不透明度程度。

将 AnimatePresence 用于退出动画

虽然处理组件离开时的动画可能有点困难,但 Framer Motion 的 motion 组件提供了一种非常通用的方法,可以在部件进入或出现在屏幕上时为部件添加动画。这就是 component called 派上用场的地方。它使你能够向 React 应用程序中的组件添加退出动画,从而在组件的进入、更新和退出之间实现平滑且视觉上美丽的过渡。AnimatePresence

AnimatePresence是一个组件,它使我们能够在组件从 React 树中删除时对其进行动画处理。它对于条件渲染或组件根据用户交互进入和离开 DOM 特别有用,例如切换可见性或在路由之间导航。

要使用 ,请将其包裹在您希望在退出时进行动画处理的组件周围。唯一的要求是这些组件接受一个 prop 来定义从组件树中删除它们时发生的动画。AnimatePresenceexit

下面是一个相同的示例示例:

import { motion, AnimatePresence } from "framer-motion"

export const MyComponent = ({ isVisible }) => (

    {isVisible && (

    )}

)

在此示例中,组件基于 isVisible 属性进行条件渲染。当 isVisible 为 false 时,组件退出,并且 AnimatePresence 触发 motion.div 的 exit 属性中指定的退出动画。

initial:使用此属性,我们可以设置动画对象的初始位置。这可能是它在 y 轴和 x 轴上的缩放、旋转和位置。

转换

A 定义在两个值之间进行动画处理时使用的动画类型。它使您可以控制每个运动的个性,并为您的动画提供平滑、活泼或有弹性的感觉。您可以使用此 prop 为所有动画提供统一的外观和感觉,方法是将其应用于 animate 和 exit 属性。transition

过渡类型

Framer Motion 支持多种类型的过渡,每种类型的过渡都提供独特的效果:

  • 吐 温: 默认类型,适用于简单明了的动画。它会随时间推移对值进行插值,从而提供从开始到结束的平滑过渡。

  • 春天: 为您的动画添加自然的、基于物理的运动,使它们感觉更有活力。Spring 过渡非常适合交互和手势,为用户输入提供响应式反馈循环。

  • 惯性: 模拟自由落体物体静止,非常适合减速动画。它对于滑动或基于动量的交互特别有效。

使用过渡的示例示例:spring

Framer Motion 还支持基于手势的交互,例如拖动、悬停、点击等。这些交互可以使应用程序感觉更生动,并对用户输入做出响应。

可拖动元素:

要使元素可拖动,只需将 prop 添加到组件中即可。你可以将拖动限制到特定的轴或定义边界。dragmotion


  Drag me!

悬停并点按效果:

使用 Framer Motion 在悬停或点击时为元素制作动画非常简单。使用 和 props 为这些交互定义动画。whileHoverwhileTap


  Press Me

使用 Framer Motion 进一步探索

我们才刚刚开始探索 Framer Motion 在 React 应用程序中的全部潜力。Framer Motion 提供了广泛的功能,让你的应用程序不仅仅是功能性的——从简单的淡入淡出和缩放到响应用户交互的复杂运动和动画。你可以浏览官方的 Framer Motion 文档,了解它们提供的各种组件和功能的指南、示例和详细说明。编码愉快🚀。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇