ReactJS-高階コンポーネント
高階コンポーネントは、既存のコンポーネントに機能を追加するために使用されるJavaScript関数です。これらの機能はpure、つまり、データを受信し、そのデータに従って値を返します。データが変更された場合、高階関数は異なるデータ入力で再実行されます。返されるコンポーネントを更新する場合は、HOCを変更する必要はありません。関数が使用しているデータを変更するだけです。
Higher Order Component(HOC)は「通常の」コンポーネントをラップアラウンドし、追加のデータ入力を提供します。これは実際には、1つのコンポーネントを受け取り、元のコンポーネントをラップする別のコンポーネントを返す関数です。
この概念がどのように機能するかを簡単に理解するために、簡単な例を見てみましょう。ザ・MyHOC データをに渡すためにのみ使用される高階関数です MyComponent。この関数はかかりますMyComponent、でそれを強化します newData 画面にレンダリングされる拡張コンポーネントを返します。
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);
アプリを実行すると、データがに渡されることがわかります MyComponent。
Note−さまざまな機能に高次のコンポーネントを使用できます。これらの純粋関数は関数型プログラミングの本質です。慣れると、アプリのメンテナンスやアップグレードがどのように簡単になっているのかがわかります。