Redux: ๊ตฌ๋… ์ˆ˜์‹ ๊ธฐ๊ฐ€ ์ž‘์—… ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2015๋…„ 11์›” 19์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: reduxjs/redux

์™œ ๊ตฌ๋…ํ•˜๋ฉด ์กฐ์น˜๋ฅผ ์ทจํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์ด ์ข‹์€ ์ƒ๊ฐ์ธ์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

listeners.slice().forEach(listener => listener())
//to
listeners.slice().forEach(listener => listener(action))
discussion

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๊ฐ€์ž…์ž๋Š” ๋ฐœ์ƒํ•œ ์ผ์ด ์•„๋‹ˆ๋ผ ์ƒˆ๋กœ์šด ์ƒํƒœ์— ๋ฐ˜์‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ด๋Š” ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž ์ง€์ • ๋ฏธ๋“ค์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐธ์กฐ:

https://github.com/rackt/redux/issues/347
https://github.com/rackt/redux/issues/580

๋ชจ๋“  3 ๋Œ“๊ธ€

๊ฐ€์ž…์ž๋Š” ๋ฐœ์ƒํ•œ ์ผ์ด ์•„๋‹ˆ๋ผ ์ƒˆ๋กœ์šด ์ƒํƒœ์— ๋ฐ˜์‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ด๋Š” ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž ์ง€์ • ๋ฏธ๋“ค์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐธ์กฐ:

https://github.com/rackt/redux/issues/347
https://github.com/rackt/redux/issues/580

์ œ ๊ฒฝ์šฐ์—๋Š” "๋””์ŠคํŒจ์น˜"๊ฐ€ ์™„๋ฃŒ๋œ ํ›„ ์ž‘์—…์ด ์„œ๋ฒ„๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„์—๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ๋™์ผํ•œ Redux ์ €์žฅ์†Œ๊ฐ€ ์žˆ์œผ๋ฉฐ ์ž‘์—…์€ ์„œ๋ฒ„ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ ์ƒํƒœ์™€ ๋™๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
์ด ๊ฒฝ์šฐ "subscribe listener"์— action ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋ฉด ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋ฌผ๋ก  ์ด๊ฒƒ์€ ๋ฏธ๋“ค์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์ด "๊ตฌ๋… ์ˆ˜์‹ ๊ธฐ"์˜ ๊ธฐ๋ณธ ๋ฐฉ๋ฒ•์ธ ๊ฒฝ์šฐ ๋” ์ข‹์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ์— ๋™์ผํ•œ Redux ์ €์žฅ์†Œ๋ฅผ ์ค€๋น„ํ•จ์œผ๋กœ์จ ์„œ๋ฒ„ ์ธก ์ƒํƒœ ์กฐ์ž‘์ด ํด๋ผ์ด์–ธํŠธ์™€ ๋™์ผํ•ด์ง‘๋‹ˆ๋‹ค.

์ด ๊ฐœ๋…์—์„œ ์•ก์…˜์€ ์„œ๋ฒ„๋ฅผ ํฌํ•จํ•˜์—ฌ ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ ๊ฐ„์— ์ „๋‹ฌ๋˜๋Š” ์ƒํƒœ ๋™๊ธฐํ™” ์žฅ์น˜์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ๋ฐ”๋กœ ๋ฏธ๋“ค์›จ์–ด์˜ ์‚ฌ์šฉ ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰