react高阶组件

博客简单介绍了高阶组件,它是一个以组件为参数的函数,经其处理后的组件会得到增强。还阐述了高阶组件的作用,包括属性代理和渲染劫持。

先简单介绍一下高阶组件

高阶组件其实就是一个函数,参数是一个组件,经过高阶组件处理过的组件,会变成一个相对增强的组件

作用:

1、属性代理

headerHoc.js

import  React from "react"

export const  headerHoc=(Com)=>(props)=>{

      return class extends   React.Component {
           render (){
                return  (
                     <div className="header"  style={{position:props.'fixed':"",background:props.bgColor}}>
                         <p><</p>
                         <Com>{{props.title}}</Com> 
                      </div>
          )
        }
   }
}

header.js

import  React from "react"
import  {headerHoc}  from "./headerHoc";

class Header  extends   React.Componhent{
               render(){
                     return(
                           <div>{this.props.children}</div>
                       )
                 }
  }
let  props={
           title:"首页",
           bgColor:“yellow”,
           fixed :true
}

export default   headerHoc(Header)(props)
         

  

2、渲染劫持

renderContext.js

import React from "react"

export const renderHoc  =(Com)=>(score)=>{
    return class extends React.Component{
          render(){
              return (
                 <div>
{score>10?<Com/>:<h2>请充值</h2>}
<div>
)
}
}
}

contxt.js
import React from "react"
import {renderHoc} from "./renderContext";

class ContextCom extends React.Component{
render(){
return(
<div>VIP会员</div>
)
}
}
export default renderHoc(ContextCom)(9)

  

转载于:https://www.cnblogs.com/ray123/p/10918643.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值