页面加载的 loading 业务

页面只有在拿到数据后,才会渲染对应的视图模块。

 

页面 loading 是在通过接口获取数据时才需要的,如何实现呢?

首先,给页面一个初始状态,比如:

const [loading, setLoading] = useState(false);

当调用获取数据的接口时,先开启loading:

setLoading(true);

当数据获取完成,页面渲染好了,将改状态置为 false:

setLoading(false);

这样就好了。

 

技术实现上可以采用 async-await 以及 Promise 和 fetch 来实现。

推荐一篇文章:https://juejin.cn/post/6844903971149053965

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现页面加载loading可以使用CSS和JavaScript结合的方式来实现。 1. CSS实现方式 在HTML中添加一个遮罩层和一个loading动画,通过CSS设置遮罩层透明度为0,当页面加载时,通过JavaScript获取到遮罩层和loading动画的DOM元素,并将遮罩层的透明度设置为1,从而实现页面loading效果。 示例代码如下: ```html <!-- HTML代码 --> <div class="loading-mask"> <div class="loading-animation"></div> </div> ``` ```css /* CSS代码 */ .loading-mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: #fff; opacity: 0; z-index: 9999; transition: opacity 0.5s ease-in-out; } .loading-animation { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 50px; height: 50px; border-radius: 50%; border: 5px solid #ccc; border-top-color: #000; animation: spin 1s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } ``` 2. JavaScript实现方式 在HTML中添加一个loading动画,通过JavaScript监听页面加载事件,当页面加载完成后,将loading动画的DOM元素从页面中移除,从而实现页面loading效果。 示例代码如下: ```html <!-- HTML代码 --> <div class="loading-animation"></div> ``` ```css /* CSS代码 */ .loading-animation { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 50px; height: 50px; border-radius: 50%; border: 5px solid #ccc; border-top-color: #000; animation: spin 1s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } ``` ```javascript // JavaScript代码 window.addEventListener("load", function() { var loadingAnimation = document.querySelector(".loading-animation"); loadingAnimation.parentNode.removeChild(loadingAnimation); }); ``` 以上两种方式都可以实现页面加载loading效果,根据具体需要选择合适的方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值