「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > React フックを既存のクラス コンポーネントに統合するにはどうすればよいですか?

React フックを既存のクラス コンポーネントに統合するにはどうすればよいですか?

2024 年 11 月 8 日に公開
ブラウズ:298

How Can I Integrate React Hooks into My Existing Class Components?

React フックを既存の React クラス コンポーネントに統合する

お気づきのように、React フックは、状態とロジックを管理するための代替アプローチを提供します。アプリケーションに反応します。ただし、フックの利点を活用するために、既存のクラスベースのコンポーネントを徐々に移行することもできます。

幸いなことに、この課題には高次コンポーネント (HOC) という解決策があります。 HOC は、フックベースの機能を挿入する関数でクラス コンポーネントをラップする方法を提供します。

フックを使用した HOC の作成

React を統合する HOC を作成するには

  1. クラス コンポーネントを引数として受け取る関数を定義します。
  2. その関数内で、WrappedComponent という新しいコンポーネントを作成します。
  3. WrappedComponent 内で、必要な React フックを使用して、必要な状態またはロジックを抽出して利用します。
  4. フックの戻り値をプロパティとしてクラス コンポーネントに渡します。
  5. HOC 関数から WrappedComponent を返します。

例:

MyDiv というクラス コンポーネントがあるとします。

class MyDiv extends React.component {
   constructor(){
      this.state={sampleState:'hello world'}
   }
   render(){
      return 
{this.state.sampleState}
} }

フックベースの状態を MyDiv に追加するには、MyHook(Component) { を使用して HOC:

function withMyHook(Component) {
  return function WrappedComponent(props) {
    const myHookValue = useMyHook();
    return ;
  }
}

HOC の統合

これで、MyDiv クラス コンポーネントを withMyHook HOC でラップできます:

class MyComponent extends React.Component {
  render(){
    const myHookValue = this.props.myHookValue;
    return 
{myHookValue}
; } } export default withMyHook(MyComponent);

この手法を使用すると、大幅なリファクタリングを行わずに、React フックを既存のクラスベースのコードベースに段階的に統合できます。

リリースステートメント この記事は次の場所に転載されています: 1729421238 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3