Reactはconetxtを通じてマルチコンポーネント値転送関数を実装します

Reactはconetxtを通じてマルチコンポーネント値転送関数を実装します

この関数の効果はvue的provide/injectに似ています。
contextを通じて反応できる

ここに画像の説明を挿入

パブリックファイルcontext/Theme.jsxを定義する

'react' から {createContext} をインポートします。
const テーマ = createContext()
デフォルトテーマをエクスポート

親コンポーネントはパブリックファイルと子コンポーネントをインポートし、 theme值を渡します。

React をインポートし、{useState} を 'react' から取得します。
「@/components/Child.jsx」からChildをインポートします。
「@/context/Theme.jsx」からテーマをインポートします。
エクスポートデフォルト()=> {
    const [theme, setTheme] = useState("blue")
    戻る (
        <>
            <button onClick={() => setTheme("green")}>コンテキストがレスポンシブかどうかを確認する</button>
            <Theme.Provider 値 = {テーマ}>
                <子供 />
            </テーマ.プロバイダー>
        </>
    )
}

子コンポーネントがデータを取得するcomponents/Child.jsx

'react' から React をインポートします。
「@/context/Theme.jsx」からテーマをインポートします。
エクスポートデフォルト()=> {
    戻る (
        <テーマ.消費者>
            {data => <p>親コンポーネントのコンテキストから渡された値を受け取ります: {data}</p>}
        </Theme.Consumer>
    );
}

これで、conetxt による React のマルチコンポーネント値転送についての説明は終了です。React のマルチコンポーネント値転送の詳細については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Reactコンポーネントの値の受け渡しの関係の詳細な説明
  • Reactコンポーネントで値を渡す3つの方法
  • Vue と React コンポーネント間の値の転送の詳細な説明
  • 親コンポーネントと子コンポーネント間で値を渡すReactメソッド
  • Reactの子コンポーネントは親コンポーネントに値を転送します

<<:  フロントエンドが習得すべき、複数列の等高レイアウトを実現するための CSS テクニック

>>:  HTML フォームタグチュートリアル (4):

推薦する

知らないかもしれない奇妙で興味深いDockerコマンド

はじめに使えるかもしれないが、あまり使われていない、シンプルで実用的なDockerコマンドをいくつか...

MySQL が重複データを挿入するのを防ぐ 3 つの方法

新しいテーブルを作成する テーブル「人」を作成します( `id` int NOT NULL COMM...

Tomcat でのサーブレットの作成と実装に関する深い理解

1. サーブレットとは何か1.1. 正式な言葉で説明する:サーブレットは、動的な Web リソースを...

美しい FLASH ウェブサイト デザイン例 50 選

Flashにより、デザイナーや開発者はブラウザ上でリッチなコンテンツを提供し、動き、インタラクティブ...

Vueストレージにはブール値のソリューションが含まれています

Vueはブール値でストレージを保存します今日、問題に遭遇しました。バックグラウンドから返された真偽の...

Vue3.0はチェックボックスコンポーネントのカプセル化を実装します

この記事では、チェックボックスコンポーネントのカプセル化を実装するためのvue3.0の具体的なコード...

VirtualBox を使用して Mac 上にローカル仮想マシン環境を構築する方法

1. ビッグデータとHadoopビッグデータについて研究し学ぶには、当然 Hadoop から始める必...

Vueのコンポーネントの詳細な説明

目次1. コンポーネントの登録2. コンポーネントの使用3. 父から息子へ4. 息子から父へ5. ス...

JavaScript setinterval 1秒遅延ソリューション

setinterval を使用すると、ページを開いた直後に 1 秒の遅延後に実行されることがわかりま...

Vueスロットの詳細な説明

1. 機能: 親コンポーネントが子コンポーネントの指定された位置に HTML 構造を挿入できるように...

CSS の border 属性と display 属性の使い方の簡単な分析

境界プロパティの概要borderプロパティは要素の境界を設定します。境界線の3要素は、太さ、線の種類...

nginx+php実行リクエストの動作原理の詳細な説明

PHPの仕組みまず、よく耳にするcgi、php-cgi、fastcgi、php-fpmの関係を理解し...

WeChatアプレット認証ログインを処理するエレガントな方法

序文WeChat ミニプログラム プロジェクトでユーザー情報を取得し、ユーザー ログインを実装する場...

Linux での MySQL のアンインストールとインストールのグラフィック チュートリアル

ブログを書くのは初めてです。開発に携わって2年になります。仕事の後に何か有意義なことを見つけたいと思...

MySQL sql_mode の変更が有効にならない理由と解決策

目次序文シナリオシミュレーション要約する序文最近、sql_mode の話題については何度も話し合われ...