博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[React] Higher Order Components (replaces Mixins)
阅读量:6082 次
发布时间:2019-06-20

本文共 2053 字,大约阅读时间需要 6 分钟。

Higher order components will allow you to apply behaviors to multiple React components.

 

So the idea is to create a high order component, then use this hight order component to create multi same behaivor component. 

So high order function is insdie function return another function, the same, high order component is inside component return another component.

let Mixin = InnerComponent => class extends React.Component {  constructor(){    super();    this.state = {val: 0}  }  update(){    this.setState({val: this.state.val + 1})  }  componentWillMount(){    console.log('will mount')  }  render(){    return 
} componentDidMount(){ console.log('mounted') }}

Inside the Mixin Component, we define the behavior "update" which will be shared to the mixined components.

 

Define two component: 

const Button = (props) => const Label = (props) => 

 

Mixin those two component with Mixin:

let ButtonMixed = Mixin(Button)let LabelMixed = Mixin(Label)

 

Use it:

class App extends React.Component {  render(){    return (      
); }}ReactDOM.render(
, document.getElementById('app'));

 

----- 

let Mixin = InnerComponent => class extends React.Component {  constructor(){    super();    this.state = {val: 0}  }  update(){    this.setState({val: this.state.val + 1})  }  componentWillMount(){    console.log('will mount')  }  render(){    return 
} componentDidMount(){ console.log('mounted') }}const Button = (props) => const Label = (props) => let ButtonMixed = Mixin(Button)let LabelMixed = Mixin(Label)class App extends React.Component { render(){ return (
); }}ReactDOM.render(
, document.getElementById('app'));

 

转载地址:http://tgzwa.baihongyu.com/

你可能感兴趣的文章
要想成为高级Java程序员需要具备哪些知识呢?
查看>>
带着问题去学习--Nginx配置解析(一)
查看>>
onix-文件系统
查看>>
java.io.Serializable浅析
查看>>
我的友情链接
查看>>
多线程之线程池任务管理通用模板
查看>>
CSS3让长单词与URL地址自动换行——word-wrap属性
查看>>
CodeForces 580B Kefa and Company
查看>>
开发规范浅谈
查看>>
Spark Streaming揭秘 Day29 深入理解Spark2.x中的Structured Streaming
查看>>
鼠标增强软件StrokeIt使用方法
查看>>
本地连接linux虚拟机的方法
查看>>
某公司面试java试题之【二】,看看吧,说不定就是你将要做的题
查看>>
BABOK - 企业分析(Enterprise Analysis)概要
查看>>
Linux 配置vnc,开启linux远程桌面
查看>>
NLog文章系列——如何优化日志性能
查看>>
Hadoop安装测试简单记录
查看>>
CentOS6.4关闭触控板
查看>>
ThreadPoolExecutor线程池运行机制分析-线程复用原理
查看>>
React Native 极光推送填坑(ios)
查看>>