我有一个 React 组件层次结构,看起来有点像这样:
var A = React.createClass({
render: function() {
/* stuff */
}
});
var B = React.createClass({
render: function() {
return dom.div(null, this.props.children);
}
});
var C = React.createClass({
render: function() {
return dom.div(null, B(null, A()));
}
});
本质上,C 将 A 元素作为子元素传递给 B,然后 B 渲染它。
现在我想更新 A 元素而不是 B。我不清楚在这种情况下 shouldComponentUpdate 的语义是什么。如果我在 B 中实现了 shouldComponentUpdate,我是否需要考虑我的孩子是否应该更新?不更新孩子的直接父母就不可能更新孩子吗?