useContext
๋ ์ปดํฌ๋ํธ์์ context๋ฅผ ์ฝ๊ณ ๊ตฌ๋
ํ ์ ์๊ฒ ํด์ฃผ๋ React Hook์
๋๋ค.
useContext(SomeContext)
๋งค๊ฐ๋ณ์
SomeContext
: ์ด์ ์ createContext
๋ก ์์ฑํ context
์
๋๋ค. context ์์ฒด๋ ์ ๋ณด๋ฅผ ๋ณด์ ํ์ง ์์ผ๋ฉฐ, ์ปดํฌ๋ํธ์์ ์ ๊ณตํ๊ฑฐ๋ ์ฝ์ ์ ์๋ ์ ๋ณด์ ์ข
๋ฅ๋ฅผ ๋ํ๋ผ ๋ฟ์
๋๋ค.์ฃผ์์ฌํญ
<Context.Provider>
๋ ๋ฐ๋์useContext()
ํธ์ถ์ ์ํํ๋ ์ปดํฌ๋ํธ ์์ ์์ด์ผ ํฉ๋๋ค.
- React๋ ๋ณ๊ฒฝ๋ value๋ฅผ ๋ฐ๋ provider๋ถํฐ ์์ํด์ ํด๋น context๋ฅผ ์ฌ์ฉํ๋ ์์๋ค์ ๋ํด์๊น์ง ์ ๋ถ ์๋์ผ๋ก ๋ฆฌ๋ ๋๋งํฉ๋๋ค.
import { useContext } from 'react'; function Button() { const theme = useContext(ThemeContext); // ...
useContext
๋ ์ ๋ฌํ context์ ๋ํ context ๊ฐ์ ๋ฐํํฉ๋๋ค. context ๊ฐ์ ๊ฒฐ์ ํ๊ธฐ ์ํด React๋ ์ปดํฌ๋ํธ ํธ๋ฆฌ๋ฅผ ๊ฒ์ํ๊ณ ํน์ context์ ๋ํด ์์์ ๊ฐ์ฅ ๊ฐ๊น์ด context provider๋ฅผ ์ฐพ์ต๋๋ค.
ํจ์
useContext()
๋ ํญ์ ๊ทธ๊ฒ์ ํธ์ถํ๋ ์ปดํฌ๋ํธ ์์ ๊ฐ์ฅ ๊ฐ๊น์ด provider๋ฅผ ์ฐพ์ต๋๋ค. useContext()
๋ฅผ ํธ์ถํ๋ ์ปดํฌ๋ํธ ๋ด์ provider๋ ๊ณ ๋ คํ์ง ์์ต๋๋ค.Plus
Context
๋ฅผ ์ฌ์ฉํ๋ฉด ๋ถ๋ชจ ์ปดํฌ๋ํธ๊ฐ props๋ฅผ ํตํด ๋ช
์์ ์ผ๋ก ์ ๋ฌํ์ง ์๊ณ ๋ ๊น์ด ์ฌ๋ถ์ ๋ฌด๊ดํ๊ฒ ๊ทธ ์๋ ํธ๋ฆฌ์ ๋ชจ๋ ์ปดํฌ๋ํธ์์ ์ผ๋ถ ์ ๋ณด๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.ย