导致纯组件更新的案例,容易范毛病
1.和使用对象字面量来赋值的情况差不多,每次都是一个新的对象,就是使用对象展开符号
render(){
//这个itemConfig 会在每次props和state变化的时候都是一个新的对象,导致即使是 纯组件的ParComp,每次数据信息没变也更新
const {childrenField,...itemConfig} = config ;
return <ParComp config={itemConfig} />
}
2,在纯组件里放入SFC函数组件,也会导致每次都是一个新的函数,导致ParComp的children都是新的而更新
render(){
//这个itemConfig 会在每次props和state变化的时候都是一个新的对象,导致即使是 纯组件的ParComp,每次数据信息没变也更新
const {childrenField,...itemConfig} = config ;
return <ParMenu
expand={expand}
activeName={activeName}
childSlected={childSlected}
sub={child}
obj={val}
config={itemConfig}
key={id}
slectItem={this.slectItem}
>
<SubMenu obj={node}
activeName={activeName}
config={config}
key={nodeId}
slectItem={slectItem}
parId={id}/>
</ParMenu》
}
Last updated
Was this helpful?