๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

javascript/[TIL] ๋ฆฌ์•กํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ 

๋ฆฌ์•กํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ  - Context API

728x90

Context API๋Š” ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ์—์„œ ์ „์—ญ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๊ฐ€ (์‚ฌ์šฉ์ž ๋กœ๊ทธ์ธ ์ •๋ณด, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ™˜๊ฒฝ ์„ค์ • ํ…Œ๋งˆ ๋“ฑ) ์žˆ์„๋•Œ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ

 

๋ฆฌ๋•์Šค, ๋ฆฌ์•กํŠธ ๋ผ์šฐํ„ฐ, styled-components ๋“ฑ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” Context API๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


Context API๋ฅผ ์‚ฌ์šฉํ•œ ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌ ํ๋ฆ„ ์ดํ•ดํ•˜๊ธฐ

Context API

๋ฆฌ์•กํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ปดํฌ๋„ŒํŠธ ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ props๋กœ ์ „๋‹ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ „์—ญ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๋Š” ์ตœ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ์ธ App์˜ state์— ๋„ฃ์–ด์„œ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

→ ์œ ์ง€ ๋ณด์ˆ˜์„ฑ์ด ๋‚ฎ์•„์งˆ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.

(์ด์œ  : ์ตœ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ์—์„œ ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฑฐ์ณ props๋กœ ์›ํ•˜๋Š” ์ƒํƒœ์™€ ํ•จ์ˆ˜๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ๋•Œ๋ฌธ)

 

โ˜…ํ•ด๊ฒฐ :  ๋ฆฌ๋•์Šค ๊ฐ™์€ ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌ ์ž‘์—…์„ ๋” ํŽธํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•œ๋‹ค.

Context API ์‚ฌ์šฉ : Context๋ฅผ ๋งŒ๋“ค์–ด ๋‹จ ํ•œ ๋ฒˆ์— ์›ํ•˜๋Š” ๊ฐ’์„ ๋ฐ›์•„์™€์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

Context ๋งŒ๋“ค๊ธฐ

Consumer ์‚ฌ์šฉํ•˜๊ธฐ (Context์— ์žˆ๋Š” ๊ฐ’ ์‚ฌ์šฉ)

Provider

Provider๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Context value๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

useContext Hook ์‚ฌ์šฉํ•˜๊ธฐ (Context์— ์žˆ๋Š” ๊ฐ’ ์‚ฌ์šฉ, Consumer์™€ ๋‹ค๋ฅธ ๋ฐฉ์‹์ด์ง€๋งŒ, ๊ฐ™์€ ์šฉ๋„) 

728x90