当前位置: 首页 > news >正文

做网站与数据库的关系高端网站开发成本

做网站与数据库的关系,高端网站开发成本,广州市律师网站建设公司,wordpress猜你喜欢插件前言: 当一个页面中需要接受接口返回的全部数据进行页面渲染时间,如果数据量比较庞大,前端在渲染dom的过程中需要花费时间,造成页面经常出现卡顿现象。 需求:通过虚拟加载,优化页面渲染速度 优点&#xff1…

前言:

        当一个页面中需要接受接口返回的全部数据进行页面渲染时间,如果数据量比较庞大,前端在渲染dom的过程中需要花费时间,造成页面经常出现卡顿现象。

        需求:通过虚拟加载,优化页面渲染速度

        优点:不需要固定行元素高度一致

行元素等高的虚拟列表实现方法
实现方法

npm 安装 react-virtualized

npm install react-virtualized --save

页面引入

import { List as VirtualizedList, AutoSizer, CellMeasurer, CellMeasurerCache } from 'react-virtualized';

Cp.jsx

import React, { Component } from 'react';
import { List as VirtualizedList, AutoSizer, CellMeasurer, CellMeasurerCache } from 'react-virtualized';class Cp extends Component {constructor(props) {super(props);this.cache = new CellMeasurerCache({fixedWidth: true, defaultHeight: 100 // 未计算的单元格初始默认的高度});this.state = {viewWidth: 200,viewHeight: 500,dataList: [{id: 1, content1: '小灰灰学编程小灰灰学编程小灰灰学编程', content2: '小灰灰学编程小灰灰学编程小灰灰学编程小灰灰学编程'},{id: 2, content1: '小灰灰学编程', content2: '小灰灰学编程小灰灰学编程小灰灰学编程小灰灰学编程'},{id: 3, content1: '小灰灰学编程小灰灰学编程', content2: ''},{id: 4, content1: '小灰灰学编程小灰灰学编程小灰灰学编程小灰灰学编程', content2: '小灰灰学编程'},{id: 5, content1: '小灰灰学编程', content2: ''},{id: 6, content1: '小灰灰学编程小灰灰学编程', content2: '小灰灰学编程'},{id: 7, content1: '小灰灰学编程小灰灰学编程小灰灰学编程', content2: '小灰灰学编程'},{id: 8, content1: '小灰灰学编程小灰灰学编程小灰灰学编程小灰灰学编程小灰灰学编程小灰灰学编程小灰灰学编程', content2: '小灰灰学编程小灰灰学编程小灰灰学编程小灰灰学编程小灰灰学编程小灰灰学编程'},{id: 9, content1: '小灰灰学编程小灰灰学编程', content2: ''},{id: 10, content1: '小灰灰学编程', content2: '小灰灰学编程'},{id: 7, content1: '小灰灰学编程', content2: '小灰灰学编程小小灰灰学编程小灰灰学编程小灰灰学编程灰小灰灰学编程灰学编程'},{id: 8, content1: '小灰灰学编程', content2: '小灰灰学编程小小灰灰学编程灰灰学编程'},{id: 9, content1: '小灰灰学编程小灰灰学编程', content2: ''},{id: 10, content1: '小灰灰学编程', content2: '小灰灰学编程'},]}}componentDidUpdate() {// 重置所有单元格的计算缓存this.cache.clearAll();}/*** rowRenderer 渲染行元素的方法*    index: 索引*    key: 记录在数组中的位置*    parent: 定义该列表是另一个列表的父列表还是子列表*    style: 用于定位行的样式对象*    isVisible: 确定行是否可见或不可见*    isScrolling: 指示组件中是否发生滚动 List* * CellMeasurer 自动计算单元格内容的高阶组件*    cache: 在CellMeasure和他们父级的Grid之间共享的缓存*    children: 子元素 可以是一个react元素或者函数*    columnIndex: 经计算的列index | 0*    parent: 父级Grid的引用*    rowIndex: 经计算的行index*/rowRenderer = ({ index, key, parent, style }) =>{const {dataList} = this.stateconst itemData = dataList[index];return (<div key={key} style={style}><CellMeasurercache={this.cache}columnIndex={0}key={key}rowIndex={index}parent={parent}><div><div>{`第${itemData.id}个元素`}</div><div>content1: {itemData.content1}</div><div>{itemData.content2}</div></div></CellMeasurer></div>);}render() {const {dataList} = this.statereturn (<div className="virtualized-list"><AutoSizer>{({ viewWidth, viewHeight }) => (/*** VirtualizedList*    width: 可视区域宽度*    height: 可视区域高度*    rowHeight: 行高度*    rowCount: 列表长度*    dataList: 列表数据*    rowRenderer: 渲染行元素的方法*    overscanRowCount: 用于沿用户滚动的方向呈现附加行*    deferredMeasurementCache: 用于临时呈现数据,缓存计算数据*/<VirtualizedListwidth={this.state.viewWidth}height={this.state.viewHeight}rowHeight={this.cache.rowHeight}rowCount={dataList.length}rowRenderer={this.rowRenderer}deferredMeasurementCache={this.cache}dataList={dataList}overscanRowCount={1}/>)} </AutoSizer></div>);}
}export default Cp;

 效果

http://www.yayakq.cn/news/624727/

相关文章:

  • 网站建设与维护项目六项目协同管理平台
  • 网站正能量免费下载微信小程序表单制作
  • 公司外包做网站赚钱吗app注册推广团队
  • c 做网站源码实例微网站建设费用
  • 部门网站建设总结本地南昌网站建设公司
  • 小学生的做试卷儿的网站 你这表白网站制作
  • 西安有关做网站的公司有哪些网站如何做注册类 cpa
  • 广东融都建设有限公司 公司网站济南seo网站关键词排名
  • vs网站开发源码wordpress本地环境迁移
  • dede网站移动端怎么做视频网站程序
  • 洛阳建设厅网站情公司做的网站
  • 网站分享组件上线了做的网站怎么办
  • 郑州建立一个网站需要哪些如何引用网站上的资料做文献
  • 注册网站免费html5 手机网站模板
  • 做电影网站wordpress post
  • 公司网站建设怎么做账高校档案室网站建设
  • 北京网站改版报价中国建设银行网站外汇
  • 双鸭山网站建设哪里ui培训班好
  • 小吃网站怎么做建设部网站中淼工程有限公司
  • 有经验的宁波网站建设自动识别手机和电脑版本网站
  • 网站建设是属于软件开发费吗网页浏览器怎么扫描二维码
  • 可以推广网站安卓系统应用开发
  • 网站菜单导航怎么做河北辛集市城乡建设管理局网站
  • 备案通过网站还是打不开网站标题可以修改吗
  • wordpress学校网站fineui 如何做网站
  • wordpress文章宽度自适应关键词优化工具互点
  • 优化网站的意思微信平板专用版ipad版
  • 我国外贸企业网站建设洛阳头条最新消息
  • 怎么自己做公司网站网站推广怎么推
  • 网站建设分金手指排名十八岳阳网站建设哪里有