记住数组中已渲染的对象

时间:2018-09-14 09:17:16

标签: reactjs typescript

我要在滚动条中列出一些新闻。 到目前为止,我设法做的是重新渲染该组件,以便在滚动条到达底部时显示更多新闻。

开始时我的初始状态为25条新闻。然后,对于每个滚动,我只添加另一个25条新闻。我注意到的是,在重新渲染更多新闻时,我的组件非常慢。我怀疑这可能是因为它从头开始渲染“已渲染”的新闻。

是否可以将已经渲染的新闻保留在内存中或其他东西中,而至少不重新渲染而只是重新渲染新新闻?

记住数组中已渲染的对象

1 个答案:

答案 0 :(得分:1)

看看PureComponent。 React文档指出以下内容:

  

React.PureComponent与React.Component类似。它们之间的区别在于React.Component并未实现shouldComponentUpdate(),但是React.PureComponent却通过浅层的prop和状态比较来实现它。

     

如果您的React组件的render()函数在相同的道具和状态下呈现相同的结果,则在某些情况下,您可以使用React.PureComponent来提高性能。

https://reactjs.org/docs/react-api.html#reactpurecomponent

ListItem组件转换为PureComponet可以提高性能,因为如果传递给它的道具相同,React不会重新渲染这些组件。