react hoc

作者: good__day | 来源:发表于2019-02-21 18:58 被阅读0次


一、概念

高阶组件的概念应该是来源于JavaScript的高阶函数:高阶函数就是接受函数作为输入或者输出的函数

高阶组件仅仅只是是一个接受组件作输入并返回组件的函数,通常情况下,实现高阶组件的方式有以下两种:

二、作用

1、属性代理(Props Proxy)

操作props ,抽象 state, 获得refs的引用,用其他元素包裹组件

2、反向继承(Inheritance Inversion)

渲染劫持

三、传参,柯里化

constHOCFactoryFactory =(...params) =>{

   return (WrappedComponent) =>{

         return class HOCextendsComponent { render() {return null } } 

 }

}

HOCFactoryFactory(params)(WrappedComponent)

四、名字

// https://github.com/mridgway/hoist-non-react-statics

import hoistNonReactStatics from 'hoist-non-react-statics'

getDisplayName = (WrappedComponent)=> {

  return WrappedComponent.displayName || WrappedComponent.name || 'Component'

}

createHoc = (name, hoc) => {

  return function wrap (WrappedComponent) {

    const Component = hoc(WrappedComponent)

  // 去除 WrappedComponent 中额外的静态变量

    hoistNonReactStatics(Component, WrappedComponent)

 //  修改 Component 的展示名字

    Component.displayName = `${name}(${getDisplayName(WrappedComponent)})`

    return Component

  }

}

参考:

https://juejin.im/post/5914fb4a0ce4630069d1f3f6

相关文章

  • react 滚动到顶部组件

    核心代码 react HOC

  • 从高阶函数到高阶组件

    介绍 高阶组件(HOC)是 React 中用于复用组件逻辑的一种高级技巧。HOC 自身不是 React API 的...

  • React 学习笔记二 - HOC 高阶组件理解

    官方定义 高阶组件(HOC)是 React 中用于 复用组件逻辑 的一种高级技巧。HOC 自身不是 React A...

  • 高阶组件简介

    一、定义 高阶组件(HOC)是 React 中用于复用组件逻辑的一种高级技巧。HOC 自身不是 React API...

  • React 进阶之高阶组件

    高阶组件 HOC 高阶组件(HOC)是react中的高级技术,用来重用组件逻辑。但高阶组件本身并不是React A...

  • React - 高阶组件

    高阶组件(HOC)是 React 中用于复用组件逻辑的一种高级技巧。HOC 自身不是 React API 的一部分...

  • react hoc

    高阶函数对组件的封装,譬如多个组件大部分相同,只是需要局部变化,可通过高阶函数来进行封装处理。

  • React HOC

    在React官网文档学习React HOC,整个看了一遍还是云里雾里的,于是按照官网文档,自己动手实践一下。官网地...

  • react hoc

    一、概念 高阶组件的概念应该是来源于JavaScript的高阶函数:高阶函数就是接受函数作为输入或者输出的函数 高...

  • 高阶组件

    一、高阶组件(HOC)是React 中用于复用组件逻辑的一种高级技巧。HOC自身不是React API的一部分,它...

网友评论

      本文标题:react hoc

      本文链接:https://www.haomeiwen.com/subject/zhbryqtx.html