Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有什么方法可以提高性能渲染1000+;在React中,将数据卡放在单个页面上?_Javascript_Reactjs_Dom_Redux_Jsx - Fatal编程技术网

Javascript 有什么方法可以提高性能渲染1000+;在React中,将数据卡放在单个页面上?

Javascript 有什么方法可以提高性能渲染1000+;在React中,将数据卡放在单个页面上?,javascript,reactjs,dom,redux,jsx,Javascript,Reactjs,Dom,Redux,Jsx,我的目标是从我的道具中获取一组信息,并将其设置为卡片,显示在单个页面上。我不能使用分页。我注意到我显示的信息越多,页面越差。例如,当我渲染1200张关于汽车的卡片时,它严重滞后。然后,当我在这些卡片上添加图片时,我的网页几乎崩溃了 我理解可能页面中有太多的dom元素和数据;我如何在React中修复此问题 我研究过其他库,比如react visualized,其中数据在滚动时呈现,而不是在dom上一次呈现。他们中的一些人跟不上,我想在我走那条路之前我会问一下 import React, {

我的目标是从我的道具中获取一组信息,并将其设置为卡片,显示在单个页面上。我不能使用分页。我注意到我显示的信息越多,页面越差。例如,当我渲染1200张关于汽车的卡片时,它严重滞后。然后,当我在这些卡片上添加图片时,我的网页几乎崩溃了

我理解可能页面中有太多的dom元素和数据;我如何在React中修复此问题

我研究过其他库,比如react visualized,其中数据在滚动时呈现,而不是在dom上一次呈现。他们中的一些人跟不上,我想在我走那条路之前我会问一下

    import React, { Component } from 'react';
    import { bindActionCreators } from 'redux';
    import { connect } from 'react-redux';
    import { actionCreators } from '../../store/landing';
    import { Card } from 'reactstrap';

    class Car extends Component {
        state = {
            cardData: [],
        };

        componentDidMount() {
            this.ensureDataFetched();
        }

        ensureDataFetched() {
            this.props.getCardData();
        }

        render() {
            return (
                    <div>                                
                       {this.props.landingData.length === 0 ? null :
                           this.props.carData.map((car, cardId) => {
                                    <Card key={carId}>{car.title}</Card>
                             })
                       }
                     </div>                       
            );
        }
    }

    export default connect(
        state => state.car,
        dispatch => bindActionCreators(actionCreators, dispatch)
    )(Car);
import React,{Component}来自'React';
从“redux”导入{bindActionCreators};
从'react redux'导入{connect};
从“../../store/landing”导入{actionCreators};
从“reactstrap”导入{Card};
类汽车扩展组件{
状态={
cardData:[],
};
componentDidMount(){
this.ensureDataFetched();
}
ensureDataFetched(){
this.props.getCardData();
}
render(){
返回(
{this.props.landingData.length==0?空:
this.props.carData.map((car,cardd)=>{
{car.title}
})
}
);
}
}
导出默认连接(
state=>state.car,
dispatch=>bindActionCreators(actionCreators,dispatch)
)(汽车);

我不确定您希望如何显示卡,但我非常确定您需要的是虚拟化列表或某种虚拟化结构

你可以用


文档中有很多示例,请看一下组件。

毫不奇怪,在每个数据实例上点击DOM会迫使它每次重新流/呈现DOM,并且随着它的扩展会变得更糟。不管有没有维护的即插即用库,您都希望为1ks的结果添加分页