React长列表优化:懒加载+分页
背景:React项目中渲染一个长列表,后端返回10000+条数据。如果全部渲染出来,耗时即长,长时间白屏。
使用懒加载+分页的方式,每次滚动到底部,加载下一页数据。
步骤1:启动一个后台服务,返回10000条数据,这里用koa.js来做
1 | const Koa = require("koa"); |
由于React项目是以服务的方式启动的,所以配置package.json,添加"proxy": "http://localhost:8080"
或者使用CORS跨域来做,二选一即可
1 | const cors = require('koa2-cors'); //跨域处理 |
步骤2:App.js里使用useState() 将所有的数据放入state
1 | const usedata = ()=>{ |
步骤3:List组件,防抖优化
1 | const List = (props) => { |
总结:此案例中用到了前端用到了 React hooks 、防抖、懒加载、React.memo(), 后台用到了koa.js CORS跨域。
- 本文作者: Tsailor
- 本文链接: http://tsailor.github.io/2020/08/21/React长列表优化:懒加载+分页/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!