React.FCとReact.Componentの使用に関する簡単な説明

React.FCとReact.Componentの使用に関する簡単な説明

React コンポーネントは、関数 (React.FC<>) またはクラス (React.Component を継承) として定義できます。

1. React.FC<>

1. React.FC は関数コンポーネントであり、TypeScript で使用されるジェネリックです。FC は FunctionComponent の略です。実際、React.FC は React.FunctionComponent と記述できます。

const アプリ: React.FunctionComponent<{ message: string }> = ({ message }) => (
  <div>{メッセージ}</div>
);

2. React.FC には PropsWithChildren ジェネリックが含まれているため、props.children の型を明示的に宣言する必要はありません。 React.FC<> は戻り値の型について明示的ですが、通常の関数バージョンは暗黙的です (そうでない場合は追加の注釈が必要になります)。

3. React.FC は、静的プロパティの型チェックと自動補完を提供します: displayName、propTypes、defaultProps (注: React.FC と組み合わせて defaultProps を使用すると、いくつか問題が発生します)。

4. React.FC を使用して React コンポーネントを記述する場合、setState は使用できません。代わりに、useState() や useEffect などの Hook API を使用します。

例 (ここではデモンストレーションのために Ali の Ant Desgin Pro フレームワークが使用されています):

const SampleModel: React.FC<{}> = () =>{ //React.FC<> は、Typescript で使用される汎用型です。const [createModalVisible, handleModalVisible] = useState<boolean>(false); 
   戻る {
   ** モーダル ボックスをトリガー **/
   <Button style={{fontSize:'25px'}} onClick={()=>handleModalVisible(true)} >例</Button>
   {/** モーダル ボックス コンポーネント **/
   <Model onCancel={() => handleModalVisible(false)} ModalVisible={createModalVisible} /> 
  }

2. クラスxxはReact.Componentを拡張します

クラスコンポーネントを定義する場合は、React.Component を継承する必要があります。 React.Component はクラス コンポーネントです。TypeScript では、React.Component はジェネリック型 (別名 React.Component<PropType, StateType>) なので、(オプションの) prop および state 型パラメータを指定します。

例 (ここではデモンストレーションのために Ali の Ant Desgin Pro フレームワークが使用されています):

クラスSampleModelはReact.Componentを拡張します{
  状態 = {
    作成モーダル表示:false、
  };

  handleModalVisible =(cVisible:boolean)=>{
    this.setState({createModalVisible:cVisible});
  };
  戻る {
  ** モーダル ボックスをトリガー **/
   <Button onClick={()=>this.handleModalVisible(true)} >例</Button>
   {/** モーダル ボックス コンポーネント **/
   <Model onCancel={() => handleModalVisible(false)} ModalVisible={this.state.createModalVisible} /> 
  }

ps: 簡単に言うと、どのコンポーネント タイプを使用するかわからない場合は、React.FC を使用します。

これで、React での React.FC と React.Component の使用に関するこの記事は終了です。React での React.FC と React.Component に関するその他のコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Reactコンポーネントのライフサイクル機能についての簡単な説明
  • Reactコンポーネントを作成するいくつかの方法についての簡単な説明
  • Reactコンポーネントのいくつかの形式の詳細な説明
  • React ステートレス コンポーネントと高階コンポーネント
  • コンポーネントのプロパティを設定するためのReact styled-componentsメソッド
  • React.js における PureComponent の重要性と使用方法の詳細な説明

<<:  MySQLの起動と接続方法の例分析

>>:  Alibaba Cloud Server の詳細な展開 (グラフィック チュートリアル)

推薦する

MySQLでグローバル変数とセッション変数を設定する2つの方法の詳細な説明

1. MySQL でグローバル変数を変更するには 2 つの方法があります。方法 1: my.ini ...

CSS 属性値 clear:right が機能しない理由の詳細

clear プロパティを使用してフロートをクリアすることはよくあることであり、clear プロパティ...

Hadoop 2.Xの新機能、ごみ箱機能の説明

ごみ箱機能をオンにすると、削除されたファイルの元のデータをタイムアウトなしで復元できるため、誤って削...

docker tagとdocker pushの使い方の詳しい説明

Dockerタグの詳しい説明docker tag コマンドの使い方と、ローカルイメージを daocl...

IE8はマルチ互換モードを使用してWebページを正常に表示します

IE8には複数の互換モードがあります。 IE プラットフォームの設計者である Chris Wilso...

画像の半透明処理 画像と半透明の背景の実装のアイデアとコード

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

Flex レイアウトで適応型ページを作成する (構文と例)

Flex レイアウトの紹介英語の Flex はフレキシブル ボックス、つまり伸縮性のあるボックスを...

Javascriptでシンプルなナビゲーションバーを実装

この記事では、参考までに、シンプルなナビゲーションバーを実装するためのJavascriptの具体的な...

Vue のディスパッチとブロードキャストの自己実装の詳細説明 (ディスパッチとブロードキャスト)

解決すべき問題主にコンポーネント間のクロスレベル通信用なぜディスパッチとブロードキャストを自分で実装...

図を使ってWeb2.0とは何かを説明する

最近はWeb2.0という言葉をよく耳にしますが、Web2.0とは何でしょうか? Web 1.0 とど...

VMware 仮想マシンに Centos7.3 をインストールするチュートリアル図

VMware の準備 CentOS の準備、こちらは CentOS 7.3 CentOS-7-x86...

この記事では、Vue 3.0 レスポンシブの使い方を説明します。

目次ユースケースリアクティブAPI関連プロセス反応的なcreateReactiveObjectはレス...

MySQLデータベースのbinlogクリーンアップコマンドの詳細な説明

概要今日は主に、MySQL データベースから binlog ログを正しく削除する方法を紹介します。ロ...

win10 での mysql5.7.21 の詳細なインストール手順

この記事では、MySQL 5.7.21のインストールとインストール中に発生した問題を参考までに紹介し...

Nginxの現在の制限設定の詳細な説明

この記事では、最も単純なものから最も複雑なものまで、Nginx の現在の制限構成を例を使って説明しま...