5个最佳React动画库
英文 | https://betterprogramming.pub/the-5-best-animation-libraries-for-react-8dc5a8bc2abe
翻译 | 杨小二
用户体验是现代Web应用程序中的主要问题之一。设计师将各种效果添加到Web应用程序的UI设计中,以吸引更多的用户。作为开发人员,我们必须足够熟练地交付他们期望的产品。
但是,有时候,技能并不是我们唯一需要的。我们还应该意识到我们可以使用的工具和库。在本文中,我将分享5个可用于向你的React项目添加动画的库。
1、Remotion
地址:https://www.remotion.dev/
Remotion,它是2021年初引入的一个令人兴奋的库,你可以使用它创建动画和视频。以下是其一些值得关注的功能:
允许你使用常见的网络技术(例如HTML,CSS,JavaScript,TypeScript等)创建动画。
不需要有关视频编辑的其他知识。
提供React功能,例如可重复使用的组件,强大的合成功能和快速重新加载功能。
Remotion Player给你真正的视频编辑器的感觉。
Remotion Player可用于使用浏览器播放和查看视频。
Remotion在GitHub上有大约7K stars,最重要的是,它是免费供个人使用的。
使用Remotion之前,应先安装Node.js和FFmpeg。然后,你需要将FFmpeg提取到任何文件夹,并将其路径设置为系统变量。
安装完上述依赖项后,你可以通过运行yarn create video或创建第一个Remotion项目npm init video。
2、Framer Motion
地址:https://www.framer.com/
Framer Motion是你应该关注的另一个流行的React动画库。它是两个API(Framer API和Motion API)的组合。
Framer库为Web和移动应用程序提供快速的交互性和原型设计功能,而Motion库提供动画和手势。
除此之外,还有很多理由对此感到兴奋:
为基于物理的高级动画提供帮助。
Motion API可以自动生成动画,你只需要配置正确的设置值即可。
支持手势识别喜欢hover,tap,pan,和drag。
支持服务器端渲染。
易于更改和操纵颜色。
好的文档,易于学习。
支持TypeScript。
Framer Motion在GitHub上已有超过11K stars和NPM超过490K周下载量。
你可以使用npm或yarn来安装Framer Motion:
yarn add framer-motion
Or
npm install framer-motion
而且,Framer Motion中包含三个类型的软件包:免费,专业版(每月20美元)和自定义软件包,你可以根据自己的需求选择最合适的一种。
3、React Motion
地址:https://github.com/chenglou/react-motion#readme
React Motion是另一个流行的React库,可让你轻松创建逼真的动画。主要是,它提供了五种不同的组件:spring, Motion,StaggeredMotion,TransitionMotion,和presets。他们每个人都有一个独特的目的:
spring —辅助功能,用于指导零部件的动画制作。
presets —预定义的动画对象。
Motion —用于对组件进行动画处理的组件。
StaggeredMotion —用于对动画相互依赖的组件进行动画处理的组件。
TransitionMotion —用于对组件的安装和卸载进行动画处理的组件。
除了这五个专用的导出外,在使用React Motion之前,还需要研究许多内容,因为它比我们之前讨论过的其他库要复杂得多。他们提供了功能齐全的示例文件,我建议你首先阅读它们。
React Motion每周有超过650K的npm下载,以及大约1.9万个GitHub stars。
如果要使用它,可以使用npm或yarn安装它:
yarn add react-motion
Or
npm i react-motion
4、React-Spring
地址:https://github.com/pmndrs/react-spring
排在第四位的是react-spring,它是一个基于弹簧物理的动画库。它轻松满足了我们大多数与UI相关的现代动画需求。
而且,它具有高度的灵活性,并且继承了我们前面讨论过的React Motion的某些属性。因此,让我们看一下使React Spring如此特别的地方:
提供了钩子来处理各种情况(useChain,useSpring, useSprings,useTrail,useTransition)。
能够应用动画而无需依赖React来逐帧渲染更新。
Jest支持测试。
精心编写且对初学者友好的文档。
支持Web和React-native应用程序。
React-spring在GitHub上拥有超过2万个stars,每周下载量超过67.5万次。
类似于本文中的所有其他库,你可以使用npm或yarn轻松安装react-spring:
yarn add react-spring
Or
npm install react-spring
5、React Move
地址:https://react-move-docs.netlify.app
React Move是一个简单的库,可让你使用React创建数据驱动的动画。它可以用于实现各种动画和过渡。自定义推文功能是最突出的功能。
除此之外:
它支持React,React Native和React-VR。
它具有对延迟,持续时间和缓动的细粒度控制。
提供动画生命周期事件。
它支持TypeScript。
比React Motion更简单。
除此之外,React Move每周有超过95K的npm下载,目前总共有6.3K GitHub stars。
你可以使用npm轻松安装它:
npm install react-move
结论
在本文中,我介绍了5个可与React一起使用的动画库。虽然很多其他库也可以达到这个相同的目的。
因此,如果你使用了其他动画库,请在评论部分与我们分享你的想法。如果你没有尝试本文中列出的任何一种,我强烈建议你至少尝试其中一种。
感谢你的阅读!
学习更多技能
请点击下方公众号
5个最佳React动画库相关推荐
- react动画库_React 2020动画库
react动画库 Animations are important in instances like page transitions, scroll events, entering and ex ...
- Web前端:2022年最佳Javascript动画库
当你考虑制作网站时,你首先考虑的是如何使你的网站脱颖而出,虽然有很多方法可以让它脱颖而出,比如发布独特的内容.制作引人入胜的视频和文章,但吸引人的最佳方式之一是动画和图形.前端开发人员利用Javasc ...
- AE 动画直接变原生代码:Airbnb 发布开源动画库 Lottie
原文 Airbnb 发布的 Lottie 是一个面向 iOS.Android 和 React Native 的开源动画库. 简单来说,就是可以直接利用 AE 导出的 JSON 动画文件,将其解析为原生 ...
- css3动画简介以及动画库animate.css的使用
在这个年代,你要是不懂一点点css3的知识,你都不好意思说你是个美工.美你妹啊,请叫我前端工程师好不好.呃..好吧,攻城尸...呵呵,作为一个攻城尸,没有点高端大气上档次的东西怎么能行呢,那么css3 ...
- 动画库 Lottie 的使用
本文主要介绍动画开源库 Lottie 在 Android 中的使用. 前言 在日常APP开发中,为了提升用户感官舒适度等原因,我们会在APP中加入适量动画. 而传统手写动画方式往往存在诸多问题: 动画 ...
- 2019年10个最受欢迎的JavaScript动画库!
摘要: 非常炫酷的动画库! 原文:值得看看,2019 年 11 个受欢迎的 JavaScript 动画库! 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 1. Three.js 超过 ...
- css animation动画完成后隐藏_css3动画简介以及动画库animate.css的使用
在这个年代,你要是不懂一点点css3的知识,你都不好意思说你是个美工.美你妹啊,请叫我前端工程师好不好.呃..好吧,攻城尸...呵呵,作为一个攻城尸,没有点高端大气上档次的东西怎么能行呢,那么css3 ...
- js svg语音波动动画_11 个非常受欢迎的 JavaScript 动画库,值得学习!
1.Three.js 超过46K的星星,这个流行的库提供了非常多的3D显示功能,以一种直观的方式使用 WebGL.这个库提供了. .CSS3D 和 WebGL渲染器,让我们在设备和浏览器之间创建丰富的 ...
- 推荐 6 个不错的JavaScript动画库
web前端教程 用大白话,来讲编程 1. Three.js 提供了非常多的3D显示功能,超过46K的start,以一种直观的方式使用 WebGL. 这个库提供了<canvas>. < ...
最新文章
- AEAI WM v1.6.0 升级说明,开源工作管理系统
- C++ Primer 5th笔记(chap 13 拷贝控制)引用限定符
- Maximum sum(信息学奥赛一本通-T1305)
- axios 请求拦截封装使用
- 数据标准是物联网大集成应用的核心
- SpringMVC框架学习上篇
- Java数组快速排序
- DAX计算月末一次加权平均出库金额
- matlab 如何查数据类型,MATLAB数据类型
- 关于Windows的 “睡眠“ 和 “休眠“
- 【SQL SERVER 2005+版本行转列示例】(2012年1-8月水源槑党25强榜单新鲜出炉)
- 入门HTML之表格属性bgcolor background bordercolor(light dark)
- 腾讯云 配置短信验证
- android对输入手机号码震动,浅析Android手机卫士之抖动输入框和手机震动
- 重庆万豪行政公寓:经典焕新,传奇永续
- WHM面板修改PHP版本教程
- illustrator cs5 for mac 官方简体中文版 破解
- 闲置服务器如何利用起来赚点零花钱
- curl https://domasin报错 NSS error -12286
- 人脸识别与膜虹识别_虹膜识别技术和人脸识别技术的区别是什么