「REDO」Context APIを使用したグローバル値の管理
Context APIを使用してグローバル値を管理する
これまで、子の子の要素で親の要素の値を使用する場合は、propsのpropsを受け入れて使用してきました.ただし、Context APIとdispatchを使用すると、必要なコンポーネントに直接送信できます.
👁 Contextを使用しない場合の例
この場合、B、Cは消しゴムを使用せず、Aに伝達されるコンポーネントである.
👉 1.Contextの作成
👉 2. Provider
ProviderのためにColorContextを購読するすべての構成部品は、Provider Value Propを変更するたびに再レンダリングされます.(ホットスポットの最適化)
👉 3.useContextの使用
👁 Contextの使用消しゴムを借りたくなければ
これまで、子の子の要素で親の要素の値を使用する場合は、propsのpropsを受け入れて使用してきました.ただし、Context APIとdispatchを使用すると、必要なコンポーネントに直接送信できます.
👁 Contextを使用しない場合の例
function A({text}) {
return <div>여기 {text}</div>
}
function B({text}) {
return <A text={text}/>
}
function C({text}) {
return <B text={text}/>
}
function Friend() {
return <C text="지우개" />
}
上のコードの結果値はここの消しゴムですこの場合、B、Cは消しゴムを使用せず、Aに伝達されるコンポーネントである.
👉 1.Contextの作成
import { createContext } from 'react';
const ColorContext = createContext({ color:'black' })
export default ColorContext;
Contextは、反応器が提供するcreateContextという関数を使用して作成されます.👉 2. Provider
<ColorContext.Provider value ={{ color:'red' }}>
<div>
<ColorBox />
</div>
</ColorContext.Provider>
プロバイダは、Value Propsをサブアセンブリに渡します.ProviderのためにColorContextを購読するすべての構成部品は、Provider Value Propを変更するたびに再レンダリングされます.(ホットスポットの最適化)
👉 3.useContextの使用
import React, { useContext } from 'react';
import { ColorContext } from "../ColorContext";
const ColorBox = () => {
const color = useContext(ColorContext);
return (
<>
<div>색상: {color}</div>
</>
);
};
応答するHOoksでuseContext Hookを使用すると、関数コンポーネントでContextを簡単に使用できます.👁 Contextの使用
import {createContext, useContext} from 'react';
const MyContext = createContext('물건');
function A() {
const text = useContext(MyContext);
return <div>여기 {text}</div> // 여기 지우개
}
function B() {
return <A/>
}
function C() {
return <B/>
}
function Friend() {
return (
<MyContext.Provider value="지우개">
<C/>
</MyContext.Provider>
);
}
AはB、Cでレンダリングされますが、propsは使用されません.import {useState, createContext, useContext} from 'react';
const MyContext = createContext('물건');
function A() {
const text = useContext(MyContext);
return <div> {text} </div>
}
function B() {
return <A/>
}
function C() {
return <B/>
}
function Friend() {
const [borrow, setBorrow] = useState(true);
return (
<MyContext.Provider value={borrow ? '지우개' : '싫어'}>
<C/>
<button onClick={() => setBorrow(!borrow)}>BUTTON</button>
</MyContext.Provider>
);
}
このようにusStateを使用すると、ボタンをクリックするたびに嫌なテキストが表示されますReference
この問題について(「REDO」Context APIを使用したグローバル値の管理), 我々は、より多くの情報をここで見つけました https://velog.io/@sunhee5951/React-Context-API-를-사용한-전역-값-관리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol