高阶组件装饰器
Posted xiaoshayu520ly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高阶组件装饰器相关的知识,希望对你有一定的参考价值。
高阶组件装饰器
注意利用函数式组件进行化简!
import React from ‘react‘; //1 组件原型 class Reg extends React.Component render() return <_Reg service=service />; //2 匿名组件 const Reg = class extends React.Component render() return <_Reg service=service />; //3 提参数 function inject(Comp) return class extends React.Component render() return <Comp service=service />; //继续提参数 function inject(service,Comp) return class extends React.Component render() return <Comp service=service />; //4 props function inject(obj,Comp) return class extends React.Component render() return <Comp ...obj />; //5 柯里化 function inject(obj) function wrapper(Comp) return class extends React.Component render() return <Comp ...obj />; return wrapper; //变形 + 箭头函数化简 v1 const inject = obj => Comp => class extends React.Component render() return <Comp ...obj />; //变形 + 箭头函数化简 + 函数式组件化简 v2 const inject = obj => Comp => return () => <Comp ...obj />; //finally const inject = ovj => Comp => props => <Comp ...obj/>; const inject = ovj => Comp => props => <Comp ...obj ...props/>;
以上是关于高阶组件装饰器的主要内容,如果未能解决你的问题,请参考以下文章
TypeScript 和 React:如何重载高阶组件/装饰器?
react---react中使用装饰器(高阶组件的升级用法)