React实现持续旋转的loading动画

实现一个图标的持续旋转效果,css就可以实现。

首先用keyframes定义一个旋转效果:

TypeScript 复制代码
import { keyframes } from '@mui/material';


const rotate = keyframes`
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
`;

这个效果就是旋转360度,接着我们把这个效果应用到具体的图标上,我们使用MUI的一个图标:

TypeScript 复制代码
import RefreshIcon from '@mui/icons-material/Refresh';

然后设置一个class样式:

TypeScript 复制代码
<RefreshIcon className="rotateIcon" fontSize="large" />

rotateIcon就是自定义的样式:

css 复制代码
'.rotateIcon': {
      animation: `${rotate} 0.8s linear infinite`,
 },

animation属性就是设置动画效果,具体参数里, 0.8s是旋转360度的时间,linear是指旋转过程是均匀的速度,infinite是永久,也就是持续不停的旋转。

相关推荐
踩着两条虫9 小时前
VTJ.PRO 在线应用开发平台前端架构
前端·vue.js·ai编程
踩着两条虫9 小时前
VTJ.PRO 在线应用开发平台部署与运维
前端·vue.js·人工智能
Dxy12393102169 小时前
html鼠标定位线
前端·html·计算机外设
sp4210 小时前
通过 RootEncoder 进行安卓直播 RTSP 推流
前端
_院长大人_10 小时前
构建一个 Vue 基于el-input的磨损区间选择器组件 —— WearRangeSelector
前端·javascript·vue.js
遗憾随她而去.10 小时前
前端 Vue 虚拟列表(Virtual List),从原理到实战
前端·javascript·vue.js
tangdou36909865510 小时前
图文并茂手把手教你Claude Code 多智能体 Agent Teams,一人变团队
前端·后端·ai编程
工边页字10 小时前
图文教学,服务端如何发送(钉钉 +飞书 )机器人通知
java·前端·后端
竹林81810 小时前
从零集成RainbowKit:我如何解决多链钱包连接中的“幽灵网络”问题
前端·javascript
前端炒粉10 小时前
Webpack 基础核心内容总结
前端·webpack·node.js