React实现持续旋转的loading动画

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

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

import { keyframes } from '@mui/material';


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

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

import RefreshIcon from '@mui/icons-material/Refresh';

然后设置一个class样式:

<RefreshIcon className="rotateIcon" fontSize="large" />

rotateIcon就是自定义的样式:

'.rotateIcon': {
      animation: `${rotate} 0.8s linear infinite`,
 },

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React实现加载动画可以使用不同的方法。一种常见的方法是使用 CSS 过渡和动画效果。下面是一个简单的示例,演示了如何在加载期间显示一个简单的旋转动画。 首先,你可以创建一个名为 `LoadingSpinner.css` 的 CSS 文件,其中包含动画效果的样式定义: ```css @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .LoadingSpinner { border: 4px solid #f3f3f3; border-top: 4px solid #3498db; border-radius: 50%; width: 24px; height: 24px; animation: spin 1s linear infinite; } ``` 然后,在你的 React 组件中,你可以引入这个 CSS 文件,并在加载期间渲染一个带有加载动画的元素。例如,假设你有一个名为 `MyComponent` 的组件: ```jsx import React from 'react'; import './LoadingSpinner.css'; class MyComponent extends React.Component { constructor(props) { super(props); this.state = { loading: true }; } componentDidMount() { // 模拟加载过程 setTimeout(() => { this.setState({ loading: false }); }, 3000); } render() { return ( <div> {this.state.loading ? ( <div className="LoadingSpinner"></div> ) : ( <div>加载完成!</div> )} </div> ); } } export default MyComponent; ``` 上述代码中,`MyComponent` 组件在 `componentDidMount` 生命周期方法中模拟了一个异步加载过程。在加载期间,`LoadingSpinner` 类名的元素将被渲染显示,而加载完成后,会显示 "加载完成!" 的文本。 这只是一个简单的示例,你可以根据自己的需求进行样式和动画的定制。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值