ReactJS教程:高阶组件(添加附加函数的JavaScript)

2018-11-1113:26:47WEB前端开发Comments1,917 views字数 759阅读模式

高阶组件是用于向现有组件添加附加函数的JavaScript函数。 这些函数是纯粹的,这意味着他们接收数据并根据这些数据返回值。 如果数据改变,高阶函数会以不同的数据输入重新运行。 如果我们想更新返回组件,不必更改HOC。 所要做的就是改变函数使用的数据。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/7832.html

高阶组件(HOC)环绕“正常”组件,并提供额外的数据输入。 它实际上是一个函数,它接受一个组件并返回包装原始组件的另一个组件。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/7832.html

下面来看看一个简单的例子,以便理解这个概念是如何工作的。 MyHOC是一个高阶函数,仅用于将数据传递给MyComponent。 这个函数使用MyComponent,用newData增强它,并返回将在屏幕上呈现的增强组件。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/7832.html

文件:App.jsx -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/7832.html

import React from 'react';

var newData = {
   data: 'Data from HOC...',
}

var MyHOC = ComposedComponent => class extends React.Component {

   componentDidMount() {
      this.setState({
         data: newData.data
      });
   }

   render() {
      return <ComposedComponent {...this.props} {...this.state} />;
   }
};


class MyComponent extends React.Component {
   render() {
      return (
         <div>
            <h1>{this.props.data}</h1>
         </div>
      )
   }
}

export default MyHOC(MyComponent);
Js

如果运行应用程序,会看到数据被传递给MyComponent
ReactJS教程:高阶组件(添加附加函数的JavaScript)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/7832.html

注 - 高阶组件可以用于不同的功能。 这些纯函数是函数式编程的本质。当习惯了它,你会注意到应用程序变得更容易维护或升级。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/7832.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/gcs/7832.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定