react 高阶组件

https://ant.design/index-cn

cnpm install antd --save
增强组建功能
一:非侵入式

import React from 'react';
import {Icon} from 'antd';
export default (WrapComponent)=>{
return class extends React.Component{
   constructor(props){
      super(props)
     }
  render(){
  renturn <div>
         <a href="www.baidu.com">
          下载知乎app 
        <Icon type="zhihu"/>
          </a> 
 <WrapComponent/>
      </div>  
}
}
}

在其他组件里,我们引用这个高阶组件

import MountApp from '../../highOrder/mountApp.jsx';
class Hot extends React.Component{
    constructor(props){
        super(props)
        this.state={
            isloade:true
        }
        
 }
 componentDidMount(){

 }
    render(){
        return <div>
            hot
        </div>
    }
}
export default MountApp(Hot)

二:侵入式组件

import React from 'react';
import {Spin} from 'antd';
import 'antd/lib/spin/style/css'; 
export default (WrapComponent)=>{
    return class extends WrapComponent{
        constructor(props){
            super(props)
        }
        componentDidMount(){
            super.componentDidMount()
        }
        render(){
            if(this.state.loading){
               return <Spin>{
                   super.render()
            }</Spin>
           
            }else{
                return  super.render()
            }
         
        }
    }
}

在其他组件里,我们引用这个高阶组件

import MountLoading from '../../highOrder/mountLoading.jsx';
 class Attention extends React.Component{
    constructor(){
        super()
        this.state={
            list:[],
            loading:true
        }
    }
    componentDidMount(){
              this.setState({
                list,
                loading:false
            })
    }
export default MountLoading(Attention)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 学习react已经有一段时间了,期间在阅读官方文档的基础上也看了不少文章,但感觉对很多东西的理解还是不够深刻...
    Srtian阅读 5,604评论 0 7
  • 前段时间在工作中写Hybrid页面时遇到了这样的一个场景,公司需要一系列的活动组件,在每个组件注册的时候都需要调用...
    呆头呆脑丶阅读 6,452评论 1 18
  • 在目前的前端社区,『推崇组合,不推荐继承(prefer composition than inheritance)...
    Wenliang阅读 77,915评论 16 124
  • 高阶组件是对既有组件进行包装,以增强既有组件的功能。其核心实现是一个无状态组件(函数),接收另一个组件作为参数,然...
    柏丘君阅读 8,291评论 0 6
  • 上班的真正目的不是为了赚钱,而是为了攒钱投资。 【例子】 比尔盖茨宁愿把车停在很远的地方,也不愿意花高价租车位。是...
    Curtis2019阅读 2,649评论 0 1

友情链接更多精彩内容