先简单介绍一下高阶组件
高阶组件其实就是一个函数,参数是一个组件,经过高阶组件处理过的组件,会变成一个相对增强的组件
作用:
1、属性代理
headerHoc.jsimport React from "react"export const headerHoc=(Com)=>(props)=>{ return class extends React.Component { render (){ return () } }}header.jsimport React from "react"import {headerHoc} from "./headerHoc";class Header extends React.Componhent{ render(){ return(<
{ {props.title}} {this.props.children}) } }let props={ title:"首页", bgColor:“yellow”, fixed :true}export default headerHoc(Header)(props)
2、渲染劫持
renderContext.jsimport React from "react"export const renderHoc =(Com)=>(score)=>{ return class extends React.Component{ render(){ return ({score>10?: 请充值
}) } } } contxt.js import React from "react" import {renderHoc} from "./renderContext"; class ContextCom extends React.Component{ render(){ return(VIP会员) } } export default renderHoc(ContextCom)(9)