导致纯组件更新的案例,容易范毛病

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?