【问题标题】:How can I improve performance with a big table?如何使用大表提高性能?
【发布时间】:2016-12-12 16:15:55
【问题描述】:

我有一个包含表格的父容器(每一行都是一个子组件)。 子组件在数据方面有点重(有很多图像)

所以它看起来像:

<parent>
    <child> </child>
    <child> </child>
    <child> </child>
    ...
</parent>

不是当我重新渲染父组件时(子组件在shouldComponentUpdate处停止,所以不会重新渲染),它需要很多时间。

Perf.timeWasted 没有显示任何内容。

当我重新渲染一个孩子时,它重新渲染得很快。

也许它与 react 虚拟 DOM 计算有关?

还有其他的测试/方向我应该看看吗?

编辑

孩子的 shouldComponentUpdate 很小,看起来像:

shouldComponentUpdate(nextProps, nextState) {
    let shouldUpdate =nextProps.test1;
    return shouldUpdate;
}

【问题讨论】:

  • @leo 代码很大,我贴出结构,可以贴具体代码部分
  • 发表你如何在父母中渲染孩子?
  • @leo 搞定了,很简单,不重的 shouldComponentUpdate,没有问题
  • test1 是布尔值吗?如果没有,那么您应该返回 !!shouldUpdate。无论如何,从给出的信息来看,对你没有多大帮助;-(
  • ... 不是表。那是纯 HTML,除非它是
    ... 等等,如果不是,我们无法帮助您

标签: javascript reactjs


【解决方案1】:

您可以尝试使用库 react-virtualizedreact-infinite 中的 InfiniteLoader。感谢这个库将只呈现可见组件。这会提高你的表现。

【讨论】:

    猜你喜欢
    • 2019-09-20
    • 1970-01-01
    • 1970-01-01
    • 2016-06-23
    • 1970-01-01
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    • 2019-12-26
    相关资源
    最近更新 更多