React で抽象コンポーネントを使用する方法
今回はReactで抽象コンポーネントを使用する方法についてお届けします。実際の事例を見てみましょう。
ミックスインmixin の機能は、さまざまな
オブジェクト指向言語に広く存在します。Ruby では、include キーワードは mixin であり、1 つのモジュールを別のモジュールまたはクラスに混合します。 mixin メソッドのカプセル化
const mixin = function(obj, mixins) { const newObj = obj newObj.prototype = Object.create(obj.prototype) for(let props in mixins) { newObj.prototype[props] = mixins[props] } return newObj } const BigMixin = { fly: () => { console.log('i can fly') } } const Big = function() { console.log('new big') } const FlyBig = mixin(Big , BigMixin) const flyBig = new FlyBig() FlyBig.fly() //'i can fly'
一般化されたミックスインメソッドは、ミックスインオブジェクト内のすべてのメソッドを代入によって元のオブジェクトに実装し、オブジェクトのミキシングを実現します。
React のミックスイン
React は、createClass を使用してコンポーネントを構築するときに、公式 PureRenderMixin などの mixin 属性を提供します:
import React from 'react' import PureRenderMixin from 'react-addons-pure-render-mixin' React.createClass({ mixins: [PureRenderMixin] render() { return <p>foo</foo> } })
必要なモジュールをカプセル化する createClass オブジェクト パラメーターに配列 mixin を渡します。 mixins 配列では、各 mixin メソッドと
ライフ サイクルメソッドの間に重複があります。 異なるミックスインに同じ名前の 2 つの共通メソッドを実装しても、React では上書きされません。ReactClassInterface のエラーがコンソールに報告され、コンポーネント内でメソッドを複数回定義しようとしたことが示されます。 **そのため、React では Chongming の通常メソッドのミックスインは許可されていません。React ライフサイクルで定義されたメソッドの場合、各モジュールのライフサイクル メソッドが重ね合わされて順次実行されます**。
createClass を使用するミックスインがグループ価格に対して 2 つのことを行っていることがわかります:
1. ツール メソッド: 一部のツール メソッドはコンポーネントで共有されており、各コンポーネントで使用できます。
2. ライフサイクルの継承: props と state がマージされ、componentDidMount サイクルを定義するミックスインが多数ある場合、ミックスインはライフサイクル メソッドをマージできます。 その後、React はそれらを非常にインテリジェントにマージし、一緒に実行します。
ES6クラスとデコレーター
ここでは、es6 クラス メソッドを使用してコンポーネントを構築することを好みますが、ミックスインはサポートされていません。公式ドキュメントには良い解決策がありません。 デコレータは ES 7 で定義された機能で、Java のアノテーションに似ています。デコレータは、実行時に使用されるメソッドであり、redux またはその他のアプリケーション層フレームワークでは、コンポーネントを装飾するためにデコレータが使用されることが増えています。
コア デコレータ ライブラリは、必要な @mixin を実装する実用的なデコレータを開発者に提供します。各ミックスイン オブジェクトのメソッドをターゲット オブジェクトのプロトタイプに重ね合わせて、ミックスインの目的を達成します。
りー前述したように、デコレーターはクラスに対してのみ機能しますが、メソッド自体の属性も制御できます。
注: React 0.14 はミックスインの削除を開始します
ミックスインの問題 元のコンポーネントのパッケージを破壊しました
mixin メソッドはメソッドを混合してコンポーネントに新しい機能をもたらすことができ、また新しい props と state ももたらします。つまり、維持する必要がある目に見えない状態がいくつかあります。この形式では、依存関係チェーンも相互に影響を与える可能性があります。この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
JSプロンプトテキストボックスのメールアドレス補完$.ajax()メソッドでサーバーからjsonデータを取得する方法
以上がReact で抽象コンポーネントを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











KMS ライセンス認証ツールは、Microsoft Windows および Office 製品のライセンス認証に使用されるソフトウェア ツールです。 KMS は KeyManagementService の略で、鍵管理サービスです。 KMS ライセンス認証ツールは、KMS サーバーの機能をシミュレートして、コンピューターが仮想 KMS サーバーに接続して Windows および Office 製品をライセンス認証できるようにします。 KMS ライセンス認証ツールは、サイズが小さく、機能が強力です。ワンクリックで永続的にライセンス認証できます。インターネットに接続せずに、あらゆるバージョンのウィンドウ システムとあらゆるバージョンの Office ソフトウェアをライセンス認証できます。現在、最も成功しているツールです。頻繁に更新される Windows ライセンス認証ツール 今日はそれを紹介します kms ライセンス認証作業を紹介します

PHP、Vue、React: 最適なフロントエンド フレームワークを選択するには?インターネット技術の継続的な発展に伴い、フロントエンド フレームワークは Web 開発において重要な役割を果たしています。 PHP、Vue、React は 3 つの代表的なフロントエンド フレームワークであり、それぞれに独自の特徴と利点があります。使用するフロントエンド フレームワークを選択するとき、開発者はプロジェクトのニーズ、チームのスキル、個人の好みに基づいて情報に基づいた決定を下す必要があります。この記事では、PHP、Vue、React の 3 つのフロントエンド フレームワークの特徴と用途を比較します。

Java フレームワークと React フレームワークの統合: 手順: バックエンド Java フレームワークをセットアップします。プロジェクト構造を作成します。ビルドツールを設定します。 React アプリケーションを作成します。 REST API エンドポイントを作成します。通信メカニズムを構成します。実際のケース (SpringBoot+React): Java コード: RESTfulAPI コントローラーを定義します。 React コード: API によって返されたデータを取得して表示します。

VUE.JSは、中小規模のプロジェクトや迅速な反復に適していますが、Reactは大規模で複雑なアプリケーションに適しています。 1)Vue.jsは使いやすく、チームが不十分な状況やプロジェクトスケールが小さい状況に適しています。 2)Reactにはより豊富なエコシステムがあり、高性能で複雑な機能的ニーズを持つプロジェクトに適しています。

ReactはJSXとHTMLを組み合わせてユーザーエクスペリエンスを向上させます。 1)JSXはHTMLを埋め込み、開発をより直感的にします。 2)仮想DOMメカニズムは、パフォーマンスを最適化し、DOM操作を削減します。 3)保守性を向上させるコンポーネントベースの管理UI。 4)国家管理とイベント処理は、インタラクティブ性を高めます。

netflixusesaCustomframeworkは、「ギボン」ビルトンリアクト、notreactorvuedirectly.1)チームエクスペリエンス:seice basedonfamperivity.2)projectomplerprojects:vueforsplerprojects、racefforcomplexones.3)customeforsneeds:reactofforsmorefloficailie.

Reactは、インタラクティブなフロントエンドエクスペリエンスを構築するための好ましいツールです。 1)Reactは、コンポーネント化と仮想DOMを通じてUIの開発を簡素化します。 2)コンポーネントは、関数コンポーネントとクラスコンポーネントに分割されます。関数コンポーネントはよりシンプルで、クラスコンポーネントはより多くのライフサイクル方法を提供します。 3)Reactの作業原則は、パフォーマンスを改善するために仮想DOMおよび調整アルゴリズムに依存しています。 4)国家管理は、usestateまたはthis.stateを使用し、ComponentDidmountなどのライフサイクルメソッドが特定のロジックに使用されます。 5)基本的な使用には、コンポーネントの作成と状態の管理が含まれ、高度な使用にはカスタムフックとパフォーマンスの最適化が含まれます。 6)一般的なエラーには、不適切なステータスの更新とパフォーマンスの問題が含まれます。

PHP コンポーネントは、コードを再利用するためのモジュール式ブロックを提供します。コンポーネントの作成には、ロジックと機能を含むクラスの作成と、それをオートローダーに登録することが含まれます。コンポーネントは、消費税を計算するコンポーネントなど、クラスを通じて使用されます。電子商取引アプリケーションで住所ベースの売上税を計算するためのコンポーネントの使用を示す実践的な例。コンポーネントを使用すると、アプリケーションで税金の計算を簡素化し、税率の変更を一元管理できます。
