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

๐Ÿ“ฐ Front-end/์ƒํƒœ๊ด€๋ฆฌ3

[Redux/Redux ToolKit] Redux๋กœ ์ƒํƒœ๊ด€๋ฆฌ๋ฅผ ํ•ด๋ณด์ž (Flux ํŒจํ„ด์ด๋ž€?) Redux๋Š” Flux ํŒจํ„ด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.โญ React์—์„œ ์ƒํƒœ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ์ด์œ ๋Š”? React๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ• ๋•Œ ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋กœ props๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ๋˜๋Š”๋ฐ(๋‹จ๋ฐฉํ–ฅ)์ด๋ ‡๊ฒŒ ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ๋ฅผ ํƒ€๊ณ  ์ „๋‹ฌํ•˜๋ฉด props drilling์ด ๋งŽ์•„์ง€๊ณ  props๊ฐ€ ์–ด๋””์—์„œ ์™”๋Š”์ง€ ํ™•์ธ์ด ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— ์ƒํƒœ๊ด€๋ฆฌ๋ฅผ ํ•ด์•ผํ•œ๋‹ค. ๐Ÿ“ Flux ํŒจํ„ด์ด๋ž€?Flux๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ทจ๊ธ‰ํ•˜๊ธฐ ์œ„ํ•œ ํŒจํ„ด์ด๋‹ค. ์ฆ‰, ๋ฐ์ดํ„ฐ๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ๋ฅด๋Š” ๋ฐฉ์‹์ด๋‹ค.๋ฌธ์ œ์ Facebook์—์„œ ๊ณ ์งˆ์ ์ธ ์•Œ๋ฆผ ๋ฒ„๊ทธ๊ฐ€ ์žˆ์—ˆ๋‹ค.๋ฉ”์‹œ์ง€ ์•„์ด์ฝ˜์— ์•Œ๋ฆผ์ด ๋–  ์žˆ์ง€๋งŒ, ๊ทธ ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ด์„œ ๋“ค์–ด๊ฐ€๋ฉด ์•„๋ฌด๋Ÿฐ ๋ฉ”์‹œ์ง€๊ฐ€ ์—†๋Š” ๋ฒ„๊ทธ.ํŒ€์ด ์ด ๋ฒ„๊ทธ๋ฅผ ๊ณ ์น˜๊ณ  ์–ผ๋งˆ๋™์•ˆ์€ ๊ดœ์ฐฎ์•˜์ง€๋งŒ [์—…๋ฐ์ดํŠธ๋ฅผ ํ•˜๋‹ค๋ณด๋ฉด] ๊ณง ๋‹ค์‹œ ๋‚˜ํƒ€๋‚ฌ๋‹ค.๋‹จ๊ธฐ์ ์ธ.. 2024. 9. 10.
[Zustand] Zustand๋กœ ์ƒํƒœ๊ด€๋ฆฌ๋ฅผ ํ•ด๋ณด์ž! ๋งŽ์€ ์ƒํƒœ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ์š”์ฆ˜ ๋– ์˜ค๋ฅด๋Š” 'Zustand'.  npm trends ์‚ฌ์ดํŠธ๋ฅผ ๊ฐ€์„œ ๊ฒ€์ƒ‰์„ ํ•ด๋ณด๋‹ˆ ์—ญ์‹œ 1์œ„๋Š” redux์ง€๋งŒ ๋†€๋ž๊ฒŒ๋„ 2์œ„๊ฐ€ Zustand๋‹ค.2๋…„์ „๋งŒํ•ด๋„ recoil์ด ๋ง‰ ๋œฌ๋‹ค. ๋ผ๋Š” ์†Œ๋ฌธ์ด ์žˆ์–ด์„œ ์‚ฌ์šฉํ•ด๋ดค๋Š”๋ฐ... ์ด์   ์ € ๋ฐ‘์— ์žˆ๋„ค..(recoil ๋งŒ๋“œ์‹  ๊ฐœ๋ฐœ์ž๋ถ„๋„ ํ‡ด์‚ฌํ–ˆ๋‹ค๋Š” ์†Œ์‹์ด......)  ๊ทธ๋ž˜์„œ Zustand๊ฐ€ ์™œ ์ธ๊ธฐ๊ฐ€ ์žˆ๋Š”๋ฐ? ๋ฌด์Šจ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ๋ฐ? Zustand๋Š” ๋…์ผ์–ด๋กœ '์ƒํƒœ'๋ผ๋Š” ๋œป์„ ๊ฐ€์ง„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ๊ฐ„๊ฒฐํ•œ ํ”Œ๋Ÿญ์Šค(Flux) ์›์น™์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘๊ณ  ๋น ๋ฅด๊ฒŒ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ํ•œ ๊ฐœ์˜ ์ค‘์•™์— ์ง‘์ค‘๋œ ํ˜•์‹์˜ ์Šคํ† ์–ด ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•˜๊ณ  ๋ณด์ผ๋Ÿฌ ํ”Œ๋ ˆ์ดํŠธ๊ฐ€ ์ตœ์†Œํ™”๋˜์–ด ์žˆ์–ด ์Šคํ† ์–ด ํ˜•ํƒœ์ž„์—๋„ ๊ต‰์žฅํžˆ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ƒํƒœ๊ด€๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ,use.. 2024. 6. 8.
[Redux] createStore๋ฅผ ํ•ด๋ณด์ž Redux๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ๋ญ๋ถ€ํ„ฐ ํ•ด์•ผํ• ๊นŒ?๋ฐ”๋กœ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์˜ค์ง ํ•˜๋‚˜์˜ ๊ณต๊ฐ„์ธ store๋ฅผ ๋งŒ๋“ค์–ด์•ผํ•œ๋‹ค.์ตœ๊ทผ ๋ฉด์ ‘๊ณผ์ •์—์„œ ๋ผ์ด๋ธŒ์ฝ”๋”ฉ์œผ๋กœ Redux์˜ store๋ฅผ ๋งŒ๋“œ๋Š” ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•˜๋ผ๋Š” ๋ฌธ์ œ๊ฐ€ ๋‚˜์™”๋‹ค.์•„์ด๊ณ .. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋กœ๋“œํ•ด์„œ ์‚ฌ์šฉํ•  ์ค„๋งŒ ์•Œ์•˜์ง€..์•ˆ์— ๋Œ์•„๊ฐ€๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ž์„ธํžˆ ์•Œ๋ ค๊ณ ํ•˜์ง€์•Š์•˜๋˜ ๋‚ด ์ง€๋‚œ ๊ณผ์˜ค๊ฐ€ ๋จธ๋ฆฟ์†์—์„œ ์ขŒ๋ฅด๋ฅต ํ˜๋Ÿฌ๊ฐ”๋‹ค. ๋„ค.. ๊ทธ๋ ‡๊ฒŒ ์•„๋ฌด๊ฒƒ๋„ ํ•˜์ง€ ๋ชปํ•œ ์ฑ„ ๋ฉด์ ‘์€ ๋์ด๋‚ฌ๊ณ , ์•„์‰ฝ์ง€๋งŒ ์–ด์ฉŒ๊ฒ ๋‚˜.์ง€๊ธˆ๋ถ€ํ„ฐ ํ•ด๋ณด์ž.  Store์šฐ์„ , store๋Š” ์ „์—ญ ์ƒํƒœ๋ฅผ ๊ฐ€์ง„๋‹ค.const store = { getState, subscribe, dispatch,} ๊ทธ๋ฆฌ๊ณ  ์ „์—ญ ์ƒํƒœ๋ฅผ ์กฐํšŒํ•˜๋Š” getState, ์ž์‹ ์ด ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ๋Š” ์ „์—ญ ์ƒํƒœ๋ฅผ ๊ตฌ๋…(์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ๋ณ€๊ฒฝ๋˜์—ˆ์Œ์„ ์ „๋‹ฌ)ํ•  ์ˆ˜ ์žˆ๋Š” su.. 2024. 5. 27.