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

包头做网站的如何创建自己的网站

包头做网站的,如何创建自己的网站,铁岭做网站的,太原疫情最新消息今天新增病例前言: 当一个页面中需要接受接口返回的全部数据进行页面渲染时间,如果数据量比较庞大,前端在渲染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.hyszgw.com/news/11081.html

相关文章:

  • 大型信息类PC网站适合vue做吗包就业的培训机构
  • 做产品类的工作上什么网站好百度建立自己的网站
  • 南山公司网站建设seo网页推广
  • 国外的wordpress主题广州seo
  • 网站建设类论文视频剪辑培训机构
  • 武汉做装饰公司网站平台网站如何快速推广
  • 做足彩推荐赚钱的网站淘宝关键词搜索排行榜
  • 网站 签约西安百度网站快速优化
  • wordpress 用户日志谷歌网站优化推广
  • 微商做网站想建立自己的网站怎么建立
  • 沈阳免费网站制作百度刷排名seo软件
  • 做公益网站的目的阐述网络推广的主要方法
  • 中国外贸网站有哪些问题seo包括什么
  • 如何实现福州360手机端seo
  • 获取网站验证码地址bt磁力搜索引擎索引
  • 云南网站建设费用推广链接怎么制作
  • 微金所网站谁做的深圳推广公司介绍
  • 安装wordpress xampp关键词优化排名查询
  • 坑梓网站建设平台seo培训赚钱
  • 怎么查看网站是什么软件做的win7优化软件
  • 学做网站需要多久时间百度教育官网
  • 成都网站建设全平台百度推广个人能开户吗
  • 网站做301跳转百度秒收录软件工具
  • 商城网站建设清单百度竞价推广运营
  • 有哪些做策划的用的网站百度手机助手下载2022新版
  • 做网站开发 用什么短视频seo优化排名
  • 百度做个公司网站要多少钱国内新闻今日头条
  • 宁夏网站建设一条龙爱站网注册人查询
  • 滨海新区网站建设杭州百度人工优化
  • 网站建设运营维护合同全网营销培训