目次
前提条件
新しい React プロジェクトをセットアップする
方法 1: UseRef フックを使用する
以下のコードでは、まず必要な依存関係をインポートし、機能コンポーネント タブを設定します。コンポーネント内で、tabsRef という useRef フックを作成し、タブ オブジェクトの配列を保存します。これにより、タブとそのプロパティを参照できるようになります。また、useState フックを使用して、activeTab という状態変数を作成し、現在アクティブなタブを追跡します。 handleTabClick 関数は、タブがクリックされたときに activeTab 状態を更新する役割を果たします。 renderTabs 関数は tabsRef.current 配列を反復処理し、タブ タイトルをレンダリングします。現在アクティブなタブに「Activity」クラスを追加します。最後に、タブとアクティブなタブのコンテンツの JSX マークアップを返します。
以下のコードでは、状態オブジェクトを空の「tabs」配列で初期化し、「activeTab」プロパティを 0 に設定します。状態オブジェクトを適切に初期化することで、「state.tabs」配列が未定義でないことが保証され、配列をマッピングしてタブ オブジェクトとそのプロパティにアクセスできるようになります。
特定のデザイン要件に基づいて、タブのタイトルとコンテンツの表示をカスタマイズできます。
ホームページ ウェブフロントエンド jsチュートリアル ReactJSでタブを作成するにはどうすればよいですか?

ReactJSでタブを作成するにはどうすればよいですか?

Sep 03, 2023 pm 07:13 PM

ReactJS は、ユーザー インターフェイスを構築するための人気のある JavaScript ライブラリです。 Web 開発にコンポーネントベースのアプローチを提供し、インタラクティブで動的な UI 要素を簡単に作成できるようにします。タブは、コンテンツをユーザーフレンドリーな方法で整理して表示するために使用される一般的な UI パターンです。この記事では、ReactJS でタブ コンポーネントを作成する方法を説明します。

前提条件

この記事を読む前に、ReactJS とその中心となる概念についての基本を理解しておく必要があります。 Node.js と npm (ノード パッケージ マネージャー) がコンピューターにインストールされていることを確認します。

新しい React プロジェクトをセットアップする

まず、Create React App を使用して新しい React プロジェクトを作成しましょう。このツールは、基本的なプロジェクト構造を持つ新しい React プロジェクトの作成に役立つツールです。ターミナルを開き、次のコマンドを実行します:

リーリー

方法 1: UseRef フックを使用する

useRef フックは、コンポーネント内の要素への変更可能な参照を作成できるようにする組み込みの React フックです。これを使用して、タブ コンポーネントのアクティブなタブの状態を管理できます。

###例###

以下のコードでは、まず必要な依存関係をインポートし、機能コンポーネント タブを設定します。コンポーネント内で、tabsRef という useRef フックを作成し、タブ オブジェクトの配列を保存します。これにより、タブとそのプロパティを参照できるようになります。また、useState フックを使用して、activeTab という状態変数を作成し、現在アクティブなタブを追跡します。 handleTabClick 関数は、タブがクリックされたときに activeTab 状態を更新する役割を果たします。 renderTabs 関数は tabsRef.current 配列を反復処理し、タブ タイトルをレンダリングします。現在アクティブなタブに「Activity」クラスを追加します。最後に、タブとアクティブなタブのコンテンツの JSX マークアップを返します。

リーリー ###出力###

方法 2: useReducer フックを使用する

如何在 ReactJS 中创建选项卡? useReducer フックは、複雑な状態ロジックをより組織化された方法で管理する方法を提供する別の組み込み React フックです。このフックを利用して、タブの状態変更を処理できます。

###例###

以下のコードでは、状態オブジェクトを空の「tabs」配列で初期化し、「activeTab」プロパティを 0 に設定します。状態オブジェクトを適切に初期化することで、「state.tabs」配列が未定義でないことが保証され、配列をマッピングしてタブ オブジェクトとそのプロパティにアクセスできるようになります。

"tab-content" div で使用される "?.content" 構文により、現在のタブ オブジェクトが定義されている場合にのみ content プロパティにアクセスできるようになります。これにより、タブを切り替えるときのエラーを防ぎます。

特定のデザイン要件に基づいて、タブのタイトルとコンテンツの表示をカスタマイズできます。

リーリー ###出力###

方法 3: 状態とプロパティを使用する

3 番目の方法では、コンポーネントの状態とプロパティを使用してアクティブなタブを管理します。この方法は、タブ ロジックがそれほど複雑ではない単純な場合に適しています。

###例###

以下のコードでは、タブ コンポーネントに「tabs」配列を定義して、タブのタイトルとコンテンツに必要なデータを提供します。コンポーネント内で「tabs」配列を定義することで、コンポーネントのスコープ内で配列にアクセスできるようになります。 useState フックはアクティブなタブの状態を管理するために使用され、初期値は 0 に設定されます。 handleTabClick 関数は、タブがクリックされるとアクティブなタブを更新します。 renderTabs 関数は、「tabs」配列をマップし、タブ タイトルをレンダリングします。 「active」クラスは、activeTab の状態に基づいてアクティブなタブに適用されます。

如何在 ReactJS 中创建选项卡?タブ コンテンツ div には、現在アクティブなタブのコンテンツが表示されます。

リーリー ###出力###

###結論は###

この記事では、Reactjs でタブを作成する方法について説明しました。 useRef フックは可変参照の管理に便利で、useReducer フックは状態管理に対するより構造化されたアプローチを提供し、state メソッドと props メソッドはより単純なタブの実装に適していることを紹介しました。これらのテクニックを理解することで、React アプリケーションでインタラクティブで使いやすいタブ コンポーネントを作成できます。

以上がReactJSでタブを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? 独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? Mar 18, 2025 pm 03:12 PM

記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

ブラウザでのパフォーマンスのためにJavaScriptコードを最適化するにはどうすればよいですか? ブラウザでのパフォーマンスのためにJavaScriptコードを最適化するにはどうすればよいですか? Mar 18, 2025 pm 03:14 PM

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? Apr 04, 2025 pm 02:42 PM

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

ブラウザ開発者ツールを使用してJavaScriptコードを効果的にデバッグするにはどうすればよいですか? ブラウザ開発者ツールを使用してJavaScriptコードを効果的にデバッグするにはどうすればよいですか? Mar 18, 2025 pm 03:16 PM

この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

ソースマップを使用して、マイナイドJavaScriptコードをデバッグするにはどうすればよいですか? ソースマップを使用して、マイナイドJavaScriptコードをデバッグするにはどうすればよいですか? Mar 18, 2025 pm 03:17 PM

この記事では、ソースマップを使用して、元のコードにマッピングすることにより、Minified JavaScriptをデバッグする方法について説明します。ソースマップの有効化、ブレークポイントの設定、Chrome DevtoolsやWebpackなどのツールの使用について説明します。

誰がより多くのPythonまたはJavaScriptを支払われますか? 誰がより多くのPythonまたはJavaScriptを支払われますか? Apr 04, 2025 am 12:09 AM

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

chart.js:パイ、ドーナツ、バブルチャートを始めます chart.js:パイ、ドーナツ、バブルチャートを始めます Mar 15, 2025 am 09:19 AM

このチュートリアルでは、chart.jsを使用してパイ、リング、およびバブルチャートを作成する方法について説明します。以前は、4つのチャートタイプのchart.js:ラインチャートとバーチャート(チュートリアル2)、およびレーダーチャートと極地域チャート(チュートリアル3)を学びました。 パイとリングチャートを作成します パイチャートとリングチャートは、さまざまな部分に分かれている全体の割合を示すのに理想的です。たとえば、パイチャートを使用して、サファリの男性ライオン、女性ライオン、若いライオンの割合、または異なる候補者が選挙で受け取る票の割合を示すことができます。 パイチャートは、単一のパラメーターまたはデータセットの比較にのみ適しています。パイチャートのファンの角度はデータポイントの数値サイズに依存するため、パイチャートは値のあるエンティティをゼロ値で描画できないことに注意してください。これは、割合がゼロのエンティティを意味します

初心者向けのタイプスクリプト、パート2:基本データ型 初心者向けのタイプスクリプト、パート2:基本データ型 Mar 19, 2025 am 09:10 AM

エントリーレベルのタイプスクリプトチュートリアルをマスターしたら、TypeScriptをサポートするIDEで独自のコードを作成し、JavaScriptにコンパイルできるはずです。このチュートリアルは、TypeScriptのさまざまなデータ型に飛び込みます。 JavaScriptには、NULL、未定義、ブール値、数字、文字列、シンボル(ES6によって導入)とオブジェクトの7つのデータ型があります。 TypeScriptはこれに基づいてより多くのタイプを定義し、このチュートリアルではすべてを詳細に説明します。 ヌルデータ型 JavaScriptのように、Typescriptのnull

See all articles