1. Recoil vs Redux

์•ก์…˜, ๋ฆฌ๋“€์„œ, ๋ฏธ๋“ค์›จ์–ด ๋“ฑ boilerplate ์ฝ”๋“œ๊ฐ€ ๋งŽ์ด ๋ฐœ์ƒํ•˜๋Š” Redux ์™€๋Š” ๋Œ€์กฐ์ ์œผ๋กœ Recoil ์€ boilerplate-free API ์ œ๊ณตํ•œ๋‹ค. React ์˜ useState ์ฒ˜๋Ÿผ ๊ฐ„๋‹จํ•œ ๊ฒŒํ„ฐ(get) / ์„ธํ„ฐ(set) ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Redux ์˜ ์ƒํƒœ ๊ตฌ์กฐ๋Š” ํŠธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ฅด์ง€๋งŒ Recoil ์€ ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„(directed graph, digraph) ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

Recoil ์€ ์ƒํƒœ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ  ํŒŒ์ƒ ๋ฐ์ดํ„ฐ(derived data)๋ฅผ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ์•„ํ†ฐ(atom)์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ํ•ด๋‹น atom ์„ ๊ตฌ๋…ํ•˜๋Š” ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ๋“ค์€ ๊ฐฑ์‹ ๋ฉ๋‹ˆ๋‹ค. Redux ์—์„œ๋Š” ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด reselect ๊ฐ™์€ 3rd-party ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

AtomEffect ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํŠน์ • ์ƒํƒœ์˜ ๊ฐฑ์‹  ์ดํ›„์˜ ์‚ฌ์ด๋“œ ์ดํŽ™ํŠธ๋ฅผ ์ž์ฒด์ ์œผ๋กœ ์ •์˜ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค

  • ์ƒํƒœ ๊ฐฑ์‹  ์ดํ›„์— ์˜ํ–ฅ๋ฐ›๋Š” ์ปดํฌ๋„ŒํŠธ์—์„œ ์ง์ ‘ useEffect๋ฅผ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.

Last updated

Was this helpful?