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 をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: Alibaba Cloud Server の詳細な展開 (グラフィック チュートリアル)
1. SSHリモート管理SSH の定義SSH (Secure Shell) は、主にキャラクタ イン...
スプレッド演算子を使用すると、式をある時点で展開できます。スプレッド演算子は、複数のパラメーター (...
この記事の例では、画像デジタル時計を実現するためのJSの具体的なコードを参考までに共有しています。具...
序文決まり文句です。ここでは、フロントエンドとバックエンドの分離についての私の理解についてお話ししま...
カルーセルを作りたい場合、まずその原理を理解する必要があります。画像を右から左にスライドさせるにはど...
通常、デッドロックが発生すると、重みが最も小さい接続が強制終了され、ロールバックされます。ただし、最...
1. AデータベースとBデータベースの同期ステータスを確認する次のコマンドを入力すると多くの情報が表...
1. 問題の説明: MysqlERROR1698 (28000) の解決方法、新しくインストールされ...
テーブルを削除することはあまり一般的ではありませんが、特に外部キーの関連付けがあるテーブルの場合は、...
VMware の準備 CentOS の準備、こちらは CentOS 7.3 CentOS-7-x86...
実施原則メイングラフィックは、背景と前景の 2 つの要素で構成されています。次のサンプルコードでは、...
目次シンプルファクトリーファクトリーメソッド安全な工場方法アブストラクトファクトリー要約するシンプル...
最初の方法: skip-grant-tables: 非常に便利なmysql起動パラメータ非常に便利な...
ページでビデオ タグを使用する場合は、Ogg Theora または VP8 (これに問題がない場合)...
目次セットは値が重複しない特別なコレクションです。セットコレクション基本API独自の価値判断セットを...