美文网首页
React 高阶组件

React 高阶组件

作者: 请叫我missp | 来源:发表于2019-07-30 18:08 被阅读0次

高阶组件(HOC)是React中用于复用组件逻辑的高级技巧。
输入是组件,输出新的组件的过程就是高阶组件。
巴拉巴拉 搞了好几天终于封装好了
感人哭了 好了 言归正传 接下来开始我的表演
分割线走起来


  • 属性代理


    属性代理.png

    关于属性代理,被修饰的组件需要区分好两种状态
    ①内部状态
    ②外部状态


    image.png
    比如这个被高阶组件修饰的组件【StudentInfoList】,内部需要维护内部state【isPayed】,当下拉框状态改变了之后,发送请求的时候可以使用抽象过的方法fetchData。
  • 抽象state
    WrappedComponent 代码:


    抽象state-1.png

    高阶组件中代码:


    image.png
    在上面的例子中,我们将WrappedComponent 中表格的onChange 抽象到了高阶组件中,这样有效的抽象了同样的state操作
    我们可以通过WrappedComponent提供props和回调函数抽象state。就像我们开始的例子,我们可以把原组件抽象为展示型组件,分离内部状态,搞成无状态组件(慎重点,对于逻辑复杂的组件不建议做成无状态组件)。
  • 备注
    何为高阶组件(higher order component)
    高阶组件是一个以组件为参数并返回一个新组件的函数。HOC 运行你重用代码、逻辑和引导抽象。最常见的可能是 Redux 的 connect 函数。除了简单分享工具库和简单的组合,HOC最好的方式是共享 React 组件之间的行为。如果你发现你在不同的地方写了大量代码来做同一件事时,就应该考虑将代码重构为可重用的 HOC。


参考文章

练习
写一个反转其输入的 HOC
写一个从 API 提供数据给传入的组件的 HOC(完美解决)
写一个实现 shouldComponentUpdate 来避免 reconciliation 的 HOC(将要进行)
写一个通过 React.Children.toArray 对传入组件的子组件进行排序的 HOC

相关文章

  • 利用 React 高阶组件实现一个面包屑导航

    什么是 React 高阶组件 React 高阶组件就是以高阶函数的方式包裹需要修饰的 React 组件,并返回处理...

  • React 进阶之高阶组件

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

  • 高阶组件

    React 高阶组件HOC (Higher-Order Component) 高阶组件是react中重复使用组件逻...

  • React高阶组件

    1、React高阶组件

  • React高阶组件HOC

    高阶组件本质是函数,参数是 组件1 返回组件2,高阶组件是为了复用通用逻辑高阶组件eg:import React,...

  • React高阶组件(HOC)

    高阶组件(Higher-Order Components) 高阶组件(HOC)是 React 中用于重用组件逻辑的...

  • react 笔记

    react 基本概念解析 react 的组件声明周期 react 高阶组件,context, redux 等高级...

  • ReactNative中的高阶组件(HOC)和继承详解

    ReactNative中的高阶组件(HOC)和继承详解 共同点: 高阶组件(HOC)是 React 中用于复用组件...

  • React高阶组件

    React高阶组件 在开始聊高阶组件之前我们先来看下高阶函数和高阶组件在形式上的差异: 一、什么是装饰器模式: 要...

  • React 高阶组件

    当 React 组件被包裹时(wrapped),高阶组件会返回一个增强(enhanced)的 React 组件。高...

网友评论

      本文标题:React 高阶组件

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