Context๋?
Context API๋ฅผ ์ฌ์ฉํ๋ฉด ์์ ์ปดํฌ๋ํธ์์ props๋ก ์ํ์ ํจ์๋ฅผ ์ ๋ฌ๋ฐ์ง ์๊ณ ๋ Context๋ก ํ ๋ฒ์ ์ํ๋ ๊ฐ์ ๋ฐ์ ์ ์๋ค.
๋ฐ๋ผ์, ์ ์ง ๋ณด์์ฑ์ด ๋๊ณ ์ฌ์ฉ์ ์ ๋ณด์ ๊ฐ์ด ์ ์ญ์ ์ผ๋ก ์ฌ์ฉํ ๋ฐ์ดํฐ๊ฐ ์์ ๋ ์ ์ฉํ ๊ธฐ๋ฅ์ด๋ค.
Context ๋ง๋ค๊ธฐ
createContext ํจ์๋ฅผ ์ฌ์ฉํด์ Context๋ฅผ ๋ง๋ค์ด์ค๋ค. ํ๋ผ๋ฏธํฐ์๋ ๊ธฐ๋ณธ ์ํ๋ฅผ ์ง์ ํ๋ค. ๋ฌด์กฐ๊ฑด ์ํ ๊ฐ๋ง ์์ด์ผ ๋๋ ๊ฑด ์๋๊ณ actions์ ์ ์ํ ๊ฒ์ฒ๋ผ ํจ์๋ฅผ ์ ๋ฌํ ์๋ ์๋ค.
Consumer์ Provider ์ฌ์ฉํ๊ธฐ
Consumer๋ฅผ ์ฌ์ฉํ์ฌ Context์ ์ํ ๊ฐ์ ์กฐํํ๊ณ Provider๋ก Context์ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ค.
์ด๋ Provider์์๋ Context์ ๊ฐ์ ๋ช ์ํด์ค์ผ ํ๋ค. ์ ๊ทธ๋ฌ๋ฉด ์ค๋ฅ๊ฐ ๋๋ค.
๋ฆฌ์กํธ Hooks ์ค์์ useContext๋ฅผ ์ฌ์ฉํ๋ฉด Consumer๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ ๊ฐ์ ๋ฐ์์ฌ ์ ์๋ค.
useContext Hook ์ฌ์ฉํ๊ธฐ
๋จผ์ useContext๋ฅผ import ํด์จ ๋ค, ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ๋ฉด ํธํ๊ฒ Context์ ์ํ ๊ฐ์ ์กฐํํ ์ ์๋ค. ํ์ง๋ง Hook์ด๊ธฐ ๋๋ฌธ์ ํด๋์คํ ์ปดํฌ๋ํธ์์๋ ์ฌ์ฉํ ์ ์๊ณ ํจ์ํ์์๋ง ์ฌ์ฉํด์ผ ํ๋ค.
์ ๋ฆฌ!
์ปดํฌ๋ํธ ๊ตฌ์กฐ๊ฐ ๋ณต์กํ๊ณ ์ ์ญ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ณ์๊ฐ ๋ง์ ๊ฒฝ์ฐ์๋ props๋ก ๊ณ์ ์ ๋ฌํ๋ ๊ฒ๋ณด๋ค๋ Context API๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
'๐ป Web' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React] redux ์ ๋ฆฌ (0) | 2022.08.11 |
---|---|
[SpringBoot] JpaRepository ์์ฑ๊ณผ ๋ฐ์ดํฐ ์กฐํํ๊ธฐ๐ (0) | 2022.08.01 |
[SpringBoot] H2 ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ ๋ฐฉ๋ฒ (+์ค๋ฅ ํด๊ฒฐ) (0) | 2022.07.28 |