如何停止重新渲染组件(React-redux)?

时间:2017-12-11 08:09:00

标签: reactjs redux

我使用react-router-redux并使用嵌套的connect()ed组件。这似乎工作正常,除了我的嵌套组件在状态更改时重新呈现。

Probs: Root有5个孩子: 如果任何一个子节点发生任何状态更改,则所有组件都将重新呈现,因为所有组件都是connect()ed。

如何只渲染所需的孩子?

(有没有办法使用connectAdvanced生命周期方法来解决这个问题?

1 个答案:

答案 0 :(得分:2)

为防止嵌套子项每次在父组件中更改状态时重新呈现,您应该使用shouldComponentUpdate生命周期。

shouldComponentUpdate接受2个参数shouldComponentUpdate(nextProps, nextState)

因此,您想要停止重新渲染的任何地方都应该返回false。根据文档“返回false不会阻止子组件在其状态发生变化时重新呈现。”

ShouldComponentUpdate Docs