๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“‘Library/โš› Redux

์ƒํƒœ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ž€?

by ๋…น์ฐจ๋ง›๊ฐœ๊ตฌ๋ฆฌ 2022. 12. 7.

โ“์ƒํƒœ ๊ด€๋ฆฌ ๋„๊ตฌ๊ฐ€ ์™œ ํ•„์š”ํ• ๊นŒ?

์ƒํƒœ๋ž€(State)?

  • React์—์„œ State๋Š” component ์•ˆ์—์„œ ๊ด€๋ฆฌ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
  • state๋Š” ์˜ค๋กœ์ง€ ์ž์‹ ์ปดํฌ๋„ŒํŠธ์—๊ฒŒ๋งŒ ์ „๋‹ฌํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.

 

์ƒํƒœ๊ด€๋ฆฌ ํ•„์š”์„ฑ

1. ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋“ค ๊ฐ„์˜ ๋‹ค์ด๋ ‰ํŠธ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ์€ ๋ถˆ๊ฐ€๋Šฅ ํ•˜๋‹ค.

2. ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋“ค ๊ฐ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ๋Š” ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ†ตํ•ด์„œ ์ฃผ๊ณ  ๋ฐ›๋Š”๋‹ค.

3. ๊ทธ๋Ÿฐ๋ฐ ์ž์‹์ด ๋งŽ์•„์ง„๋‹ค๋ฉด ์ƒํƒœ ๊ด€๋ฆฌ๊ฐ€ ๋งค์šฐ ๋ณต์žกํ•ด์ง€๋ฉฐ ์ž์‹์ด ๋งŽ์•„์งˆ ์ˆ˜๋ก ๋ฐ์ดํ„ฐ์ด๋™์ด ๋งŽ์•„์ ธ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•ด์ง„๋‹ค.

  • ๋งŒ์•ฝ ์œ„๊ทธ๋ฆผ ์ฒ˜๋Ÿผ ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ๋กœ๋ถ€ํ„ฐ ์ƒํƒœ๋ฅผ ์ „๋‹ฌ๋ฐ›์•„์•ผํ•˜๋Š” ComponentD๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ทธ ์‚ฌ์ด์˜ ์ปดํฌ๋„ŒํŠธ์— ํ•ด๋‹น ์ƒํƒœ๋ฅผ ์ „๋‹ฌํ•ด์„œ ๋„์ฐฉ์ง€์ธ ComponentD์— ์ƒํƒœ๋ฅผ ์ „๋‹ฌํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.
์‹ฌ์ง€์–ด ๊ทธ ์‚ฌ์ด์˜ ComponentB๋Š” ํ•ด๋‹น ์ƒํƒœ๊ฐ€ ํ•„์š”์—†์Œ์—๋„ ๋ณธ์ธ์˜ ์ž์‹์ธ ComponentD์— ์ƒํƒœ๋ฅผ ๋„˜๊ฒจ์ฃผ๊ธฐ ์œ„ํ•ด ์ƒํƒœ๋ฅผ ์ „๋‹ฌ๋ฐ›๊ณ  ์ „๋‹ฌํ•ด์ฃผ๋Š” ๊ณผ์ •์„ ์ถ”๊ฐ€ํ•ด์•ผํ•˜๋Š” ๊ฒƒ์ด๋‹ค => Props drilling ์ด์Šˆ

์œ„์™€ ๊ฐ™์€ ์˜ˆ์‹œ ์ƒํƒœ๊ฐ€์•„๋‹Œ ComponentA ์™€ ComponentD ์‚ฌ์ด์— ๋”๋งŽ์€ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ทธ ์‚ฌ์ด ์ปดํฌ๋„ŒํŠธ๋Š” ๊ณ„์†ํ•ด์„œ ๋ณธ์ธ์—๊ฒŒ ํ•„์š”์—†๋Š” ์ƒํƒœ๋ฅผ ๋‹ค์Œ ์ž์‹ ์ปดํฌ๋„ŒํŠธ์— ์ „๋‹ฌํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•ด์•ผ ํ•  ๊ฒƒ์ด๋‹ค.

 

๐ŸŸช์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

๐Ÿ‘‰๐Ÿป ๋ฌธ์ œํ•ด๊ฒฐ

1. ์ „์—ญ ์ƒํƒœ ์ €์žฅ์†Œ ์ œ๊ณต

2. Props drilling ์ด์Šˆ ํ•ด๊ฒฐ 

  • ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•˜๋ฉด ์œ„์˜ ์˜ˆ์‹œ์—์„œ ์ฒ˜๋Ÿผ ๋ถ€๋ชจ๋กœ๋ถ€ํ„ฐ ์ž์‹์œผ๋กœ ์ƒํƒœ๋ฅผ ๋‚ด๋ ค๋ฐ›๋Š”๊ฒƒ์ด ์•„๋‹Œ ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ์— ์ƒํƒœ๋ฅผ ์ „๋‹ฌํ•ด์ฃผ์ง€ ์•Š๊ณ ๋„ ์–ด๋–ค ์ปดํฌ๋„ŒํŠธ์—์„œ๋“  ๋ฐ”๋กœ ์ „์—ญ ์ƒํƒœ์ธ state์— ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋œ๋‹ค.

์ดํ•ด๋ฅผ ๋•๊ธฐ์œ„ํ•œ ์˜ˆ์‹œ ์‚ฌ์ง„

 

 

๐Ÿ‘‰๐Ÿป ์ƒํƒœ ๊ด€๋ฆฌ ํˆด ์ข…๋ฅ˜

  • React Context
  • Redux
  • MobX
728x90

'๐Ÿ“‘Library > โš› Redux' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Redux(๋ฆฌ๋•์Šค)๋ž€?  (0) 2022.12.08