| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> React Suspense 在异步获取数据方面的应用 -> 正文阅读 |
|
[JavaScript知识库]React Suspense 在异步获取数据方面的应用 |
写这篇文章之前,实在想吐槽一下 React 官方文档,很多 API 的介绍都是不明不白的,不看之前有一堆问号,看完之后问号更多了。 项目需求最近在开发一个大数据运维的项目,需要展示大量的 echarts 图表。由于从后台调接口返回数据需要时间,然后前端对数据的处理也需要时间,这样就导致了页面加载的延迟。希望可以做一个整页的 loading ,在图表渲染完成之后展示图表内容。最近在看 ssh 大佬写的一篇文章: React Suspense + 自定义Hook开启数据请求新方式 看完之后深受启发,希望可以借鉴这个思路实现上述需求。 什么是 React.Suspense根据 React 官网的介绍,
看到这里就有两个问题:
在 React 官网上有一个说明:
从上面的描述中可以得知, 什么是 SWR首先 这个库除了 API 的封装比较优雅,更重要的是支持 swr 请求策略。那么 swr 的全称是 stale-while-revalidate ,顾名思义就是重新请求的同时使用过期数据,也就是在发送 HTTP 请求时先返回上一次请求的数据,等后台返回了再把之前的数据替换掉。 SWR 的更多介绍可以看看这篇文章: 这篇文章介绍
其中
当传入的 看到这里可以发现,SWR 的 Suspense mode 和异步组件加载有很多相同之处:
为了搞清楚 React.Suspense 原理浅析原理部分参考了黄子毅大佬的文章,对 API 用法以及一些细节讲得非常详细,推荐看一下: 这边我们主要关心 核心代码就这一段,抛出取数的 Promise:
等取数完毕后再返回 useSWR API 定义的结构:
如果没有上面 总结一下其实就是, 那么其实 useSWR 使用遇到的问题看了上面的介绍,
另外现在项目中都把后端接口的地址和请求方法直接封装进一个函数了,然后调接口的时候直接调用这个函数就行。但是 参考React Suspense + 自定义Hook开启数据请求新方式 |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 12:47:35- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |