zoukankan      html  css  js  c++  java
  • 高阶组件简介

    组件:
    class Hello extends React.Component{

    render(){
    return <h2>hello imooc i love react&redux</h2>
    }

    }

    组件本质其实就是一个函数。

    高阶组件:

    function WrapperHello(Comp){

    class WrapComp extends React.Component{

    render(){

    return(
    <div>
    <p>这是高阶组件特有的元素</p>
    <Comp {...this.props}></Comp>
    </div>
    )
    }

    }
    return WrapComp

    }

    Hello = WrapperHello(Hello)


    ==================================

    以上的写法等同于

    function WrapperHello(Comp){

    class WrapComp extends React.Component{

    render(){

    return(
    <div>
    <p>这是高阶组件特有的元素</p>
    <Comp {...this.props}></Comp>
    </div>
    )
    }

    }
    return WrapComp

    }

    @WraperHello
    class Hello extends React.Component{

    render(){
    return <h2>hello imooc i love react&redux</h2>
    }

    }

    //装饰器


    高阶组件:给一个组件,返回另一个组件


    主要有两种功能:
    1.属性代理

    包裹后加一些元素或属性


    2.反向继承


    //可以改写生命周期,修改渲染的逻辑和流程
    function WrapperHello(Comp){

    class WrapComp extends Comp{

    componentDidMount(){
    console.log('高阶组件新增的生命周期,加载完成')
    }
    render(){

    }
    }

    }

  • 相关阅读:
    查看网站上保存的密码
    前端图片预览
    Amaze UI的一点总结
    简单实现图片验证码
    获取网页数据的例子
    谈谈网页中的ajax
    网页小技巧-360doc个人图书馆复制文字
    Js中的4个事件
    网页页面蒙版实现
    Spring+SprinMVC配置学习总结
  • 原文地址:https://www.cnblogs.com/eret9616/p/9281276.html
Copyright © 2011-2022 走看看