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是永久,也就是持续不停的旋转。

相关推荐
NiceCloud喜云39 分钟前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
wordbaby1 小时前
React Native + RNOH:跨页面数据回传的最佳实践与避坑指南
前端·react native
丷丩1 小时前
MapLibre GL JS第22课:查看本地GeoJSON
前端·javascript·map·mapbox·maplibre gl js
Front思2 小时前
AI前端工程师需要具备能力+
前端·人工智能·ai
ZC跨境爬虫4 小时前
跟着 MDN 学CSS day_29:(掌握文本与字体样式的核心艺术)
前端·css·ui·html·tensorflow
李子琪。5 小时前
网络空间安全深度实战:CSRF 漏洞原理剖析与基于 Token 的纵深防御体系构建(全栈实验报告)
前端·安全·csrf
冰暮流星5 小时前
javascript之history对象介绍
前端·笔记
IT_陈寒5 小时前
Vite热更新失灵?你可能漏了这个配置
前端·人工智能·后端
丷丩5 小时前
MapLibre GL JS第19课:实时更新要素
前端·javascript·gis·map·mapbox·maplibre gl js
Mr.Daozhi5 小时前
RAG 进阶实战:跑通 Demo 后我连续翻了 6 次车,逐一修复才真正可用(含 Gradio Web 版)
前端·数据库·langchain·大模型·gradio·rag·科研工具