Material ui 当父节点甚至没有被更新时,为什么子节点会重新渲染?

Material ui 当父节点甚至没有被更新时,为什么子节点会重新渲染?,material-ui,Material Ui,我遇到了聊天应用程序的性能问题。假设我需要在ChatList中呈现聊天室列表 如果ChatList和ChatListItem都已经是PureComponent,并且它们已经显示为灰色,那么为什么ChatListItem的子项仍然重新加载并花费245ms 在我看来,我一直认为,如果一个列表是纯的和不变的,那么它甚至不应该重新呈现项(子项) 这是一个重要的ui列表性能问题ChatListItem包含哪种组件?如果组件依赖于存储在提供程序(如Redux或Material UI)中的值,则有可能绕过

我遇到了聊天应用程序的性能问题。假设我需要在
ChatList
中呈现聊天室列表

如果
ChatList
ChatListItem
都已经是
PureComponent
,并且它们已经显示为灰色,那么为什么ChatListItem的子项仍然重新加载并花费245ms

在我看来,我一直认为,如果一个列表是纯的和不变的,那么它甚至不应该重新呈现项(子项)


这是一个重要的ui列表性能问题

ChatListItem包含哪种组件?如果组件依赖于存储在提供程序(如Redux或Material UI)中的值,则有可能绕过
PureComponent
检查。@SamuelVallant PureComponent检查始终完成,因为Redux数据是以道具的形式提供的,因此无法旁路。如果没有一个重要的代码,这是很困难的,但是有一些情况(例如:带有HoC in render props的路由)可以使您的组件不仅更新,甚至重新安装。是的,对于向上传递到底部的数据来说,这是正确的。但是,如果下面的组件连接到存储,它们会绕过PureComponent检查。@SamuelVallant在
ChatListItem
中没有什么特别之处,请参阅更新的屏幕capI在这里没有发现任何错误,但问题可能来自HoC,因为它总是重新呈现。你可能应该在这方面做更多的调查。没有任何复制,复制和理解这个问题有点困难。