๐ย Reference
๐ย Chapter
Context
Redux
Zustand
useContext
- useContext
- React์ Hook ์ค ํ๋๋ก, ์ปดํฌ๋ํธ ํธ๋ฆฌ ๊น์์ด ์๋ ์์ ์ปดํฌ๋ํธ๊ฐ ๋ถ๋ชจ ์ปดํฌ๋ํธ๋ก๋ถํฐ props๋ฅผ ์ผ์ผ์ด ์ ๋ฌ๋ฐ์ง ์๊ณ ๋ ์ ์ญ์ ์ธ ์ํ(state)๋ฅผ ์ฝ๊ฒ ๊ณต์ ํ ์ ์๋๋ก ํด์ฃผ๋ ๋๊ตฌ์ด๋ค.
- ์ด๋ prop drilling์ด๋ผ๋ ๋นํจ์จ์ ์ธ ์ํฉ์ ํด๊ฒฐํ๋ ๋ฐ ์ ์ฉํ๋ค.
์๋ ์๋ฆฌ
useContext
๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋จผ์ React.createContext
๋ฅผ ์ฌ์ฉํ์ฌ Context ๊ฐ์ฒด๋ฅผ ์์ฑํด์ผ ํ๋ค.
- ์ด Context ๊ฐ์ฒด๋ ๊ณต์ ํ๊ณ ์ ํ๋ ๋ฐ์ดํฐ์ "๊ณต๊ธ์(Provider)"์ "์๋น์(Consumer)" ์ญํ ์ ๋ด๋นํ๋ค.
1. Context ์์ฑ: createContext
๋ฅผ ํธ์ถํ์ฌ Context ๊ฐ์ฒด๋ฅผ ๋ง๋ ๋ค.
const MyContext = React.createContext(defaultValue);
2. Provider ์ค์ : ๋ฐ์ดํฐ๊ฐ ํ์ํ ์ปดํฌ๋ํธ๋ค์ MyContext.Provider
๋ก ๊ฐ์ธ๊ณ , value
prop์ ๊ณต์ ํ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ค.
<MyContext.Provider value={data}>
<ComponentA />
</MyContext.Provider>