我有一个包含3个孩子的父React组件,如下所示:
var Parent = React.createClass({
render: function() {
return (<div>
<C1/>
<C2/>
<C3/>
</div>)
}
})
我试图根据当前的父状态改变孩子的位置。所以在不同情况下我需要返回 C1,C3,C2 或 C3,C2,C1 等。 但我想要这样做而不重新渲染孩子。 我试图在每个子节点上使用 shouldComponentUpdate ,但是它会调用那些在父节点渲染方法中没有改变位置的组件。 因此,如果最初返回 C1,C2,C3 然后 C2,C1,C3 ,那么 shouldComponentUpdate 将被调用 C3 但是不适用于 C1 或 C2 所以在这种情况下我可以在C3中返回false并阻止重新渲染,但我不明白为什么不为子项调用shouldComponentUpdate这确实改变了他们的立场。
有什么建议吗?谢谢。