首页 文章

反应避免重新渲染

提问于
浏览
0

对于项目,我们希望在应用程序的所有视图中都可以看到通知 .

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

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

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

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

3 回答

  • 1

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

  • 3

    默认情况下,如果props更改反应将触发重新渲染 . 如果你想避免渲染一个组件你可以使用钩子 shouldComponentUpdate(nextProps, nextState)

    引用React的文档:

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

    如需进一步阅读,请访问their docs

  • 0

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

相关问题