随笔

React HOC

很多时候比较坑的是,你根本不知道有这个东西
或者说你没有意识到你平常用的东西在别人眼中的价值

What ?

HOC (Higher-order component)
是一种React的进阶使用方法。

Why ?

便于组件的复用,获取一个组件,返回一个更高级的组件。

Where ?

  • 代码复用,代码模块化
  • 增删改props
  • 渲染劫持

Code Example

// 修改 props
function control(wrappedComponent) {
  return class Control extends React.Component {
    render(){
      let props = {
        ...this.props,
        message: "You are under control"
      };
      return <wrappedComponent {...props} />
    }
  }
}
// 渲染劫持
function loading(wrappedComponent) {
  return class Loading extends React.Component {
    render(){
      if(this.props.data) {
        return <div>loading...</div>
      }
      return <wrappedComponent {...props} />
    }
  }
}

本文链接:https://note.lilonghe.net/post/react-hoc.html

-- EOF --