【发布时间】:2017-03-06 05:00:53
【问题描述】:
日志显示我的父组件正在重新渲染自己。
但是子组件的渲染方法没有被调用。
我认为 child 使用以下逻辑重新渲染,我认为我错了。 当父组件重新渲染时,react 如何决定哪些子组件被重新渲染?
- 父级渲染
- -> 孩子的
shouldComponentUpdate被调用 - -> 如果 shouldComponentUpdate 返回 true,则子级重新渲染
父渲染看起来像
render() {
let { viewConfig } = this.props
console.log("ViewConfigSettingBase rendering")
return (
<div>
{
Object.keys(viewConfig.availableSubviewConfigMap).map((sectionName, index) => {
var subviewConfigData = viewConfig.availableSubviewConfigMap[sectionName]
return (
<ViewConfigSettingRow
key={sectionName}
viewConfigData={subviewConfigData}
sectionName={sectionName}
parentViewConfig={viewConfig}
/>
)
})
}
</div>
)
}
【问题讨论】:
标签: reactjs