繁体   English   中英

反应避免重新渲染

[英]React avoid re-render

对于项目,我们希望使通知在应用程序的所有视图中均可见。

侧边栏菜单允许用户在视图之间移动,并且与通知组件和websocket组件react-stomp处于同一级别。 路由器用于根据所选菜单项在下一级更改视图。

我们的问题是,如果有新消息到达,则需要将其作为道具传递给视图,当然这会触发整个组件的重新渲染。

有办法避免这种重新渲染吗?

尽管我们知道这是一种可能的解决方案,但我们还是希望避免使用redux。

默认情况下,如果道具更改反应将触发重新渲染。 如果要避免呈现componenet,可以使用钩子shouldComponentUpdate(nextProps, nextState)

引用React的文档:

使用shouldComponentUpdate()可以让React知道组件的输出是否不受当前状态或道具更改的影响。 默认行为是在每次状态更改时重新呈现,并且在大多数情况下,您应该依赖默认行为。

如需进一步阅读,请访问他们的文档

您是否尝试过尝试使用生命周期事件挂钩?

如果要避免使用Redux或MobX之类的状态管理器,则可以使用REACT CONTEXT API

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM