react-高阶组件

个人理解:高阶组件的目的其实就是复用,手段是代理和继承

高阶组件是一个函数,形参是组件,返回也是返回组件。

//B是组件类,C是其他参数,这里代表key值,
//功能是从localStorage区key出来,传给B
//可能有很多组件都需要从本地仓库区不同的东西,所以用这种装饰者模式
function A(B,C){
    
    return class extends Component{
        constructor(props){
            super(props);
            this.setState({
                data:LocalStory.getItem(C)
            });
        }
        
        render(<div Class="还可以在指定组件上加样式"><B DATA={this.state.data} {...props}></div>);
    }
}

继承也可以实现

//B是组件类
//功能是判定是否登录,登录则渲染组件,否则不渲染

function A(B){
    
    return class extends B{
       
        if(isLogin){
            super.render();
        }else{
            return null
        }
    
    }
}

猜你喜欢

转载自blog.csdn.net/u011862930/article/details/88358315