๐ŸคทTL;DR

๐Ÿšช์„œ๋ก 

์šฐ๋ฆฌ๋Š” React๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ณดํ†ต useState๋ฅผ ํ†ตํ•ด ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. useState๋Š” ์ •๋ง ์„น์‹œํ•˜์ง€๋งŒ, ํ•œ ๊ฐ€์ง€ ๋„ˆ๋ฌด ํฐ ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์ปดํฌ๋„ŒํŠธ๋ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๊ธฐ๊ฐ€ ํž˜๋“ค๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ๊ทธ ์ผ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ•œ ๊ฒƒ์ด ๋ฐ”๋กœ ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ํ•„์š”์„ฑ์— ๋Œ€ํ•ด ๊ณต๊ฐํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ถ„๋“ค์„ ์œ„ํ•ด ์งง์€ ํ† ๋ง‰๊ธ€์„ ๋งˆ๋ จํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

โœ…์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์™œ ์‚ฌ์šฉํ•˜๋‚˜์š”?

๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ ํŒ€์€ ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์–ด๋–ค ๊ฒƒ์„ ์‚ฌ์šฉํ• ์ง€ ๊ณ ๋ฏผํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹น์žฅ ํšŒ์˜์—์„œ ๊ฑฐ๋ก ๋˜์—ˆ๋˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” Redux, Recoil, Context API, Mobx ์ •๋„๊ฐ€ ์žˆ๋Š”๋ฐ์š”, ์˜ค๋Š˜์€ ๊ทธ ์ค‘์— Redux์™€ Recoil์— ๋Œ€ํ•ด ๊ฐ€๋ณ๊ฒŒ ์•Œ์•„๋ณด๊ณ  ๋น„๊ตํ•ด ๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ์Šต๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์ž‘๋™ ์›๋ฆฌ๋ณด๋‹ค๋Š” ์‚ฌ์šฉ์ƒ์˜ ์žฅ๋‹จ์ ์„ ์ค‘์‹ฌ์œผ๋กœ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๐ŸฌRedux

Redux์— ๋Œ€ํ•ด.araboja

Untitled

Redux๋Š” ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘์—์„œ๋„ ๊ฐ€์žฅ ๋Œ€์ค‘์ ์ธ ์นœ๊ตฌ์ž…๋‹ˆ๋‹ค. ์•„๋งˆ recoil์ฒ˜๋Ÿผ ๋ฆฌ์•กํŠธ์— ์ข…์†์ ์ด์ง€๋„ ์•Š๊ณ , mobx๋ณด๋‹ค ์˜ค๋ž˜๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด ์•„๋‹๊นŒ์š”? ์•„๋ฌดํŠผ npm trends์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์••๋„์ ์ธ ์ปค๋ฎค๋‹ˆํ‹ฐ ํฌ๊ธฐ๋ฅผ ์ž๋ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ๋ฌด์ฒ™ ๋งŽ๊ณ , ์Œ.. ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ๋ฌด์ฒ™ ๋งŽ์Šต๋‹ˆ๋‹ค. ํ•œ๊ธ€๋กœ ๊ฒ€์ƒ‰ํ•ด๋„ ๋‹น์žฅ ์ด ๊ธ€์„ ์“ธ ์ด์œ ๊ฐ€ ์žˆ๋‚˜ ์‹ถ์„ ์ •๋„๋กœ ์ง€๋‚˜์น˜๊ฒŒ ๋งŽ์€ ์ •๋ฆฌ๊ธ€์ด ๋‚˜์˜ค๋„ค์š”.

Untitled

Redux๋Š” Flux ์•„ํ‚คํ…์ณ๋ฅผ ๊ฐœ์„ ํ•œ ๊ตฌ์กฐ๋กœ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. 1) ์ฝ๊ธฐ ์ „์šฉ์ธ ์ƒํƒœ๋ฅผ 2) ํ•˜๋‚˜์˜ store๊ฐ€ 3) ์ˆœ์ˆ˜ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ๊ฐฑ์‹ ํ•œ๋‹ค๋Š” ์„ธ ๊ฐ€์ง€ ๋ฉ”์ธ ์ปจ์…‰์ด ์žˆ๋‹ค๊ณ  ํ•˜๋„ค์š”. ๋” ์ž์„ธํ•œ ์„ค๋ช…์€ ์œ„ ์‚ฌ์ง„์˜ ์ถœ์ฒ˜ ๋งํฌ์— ์ž˜ ์„ค๋ช…์ด ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.