Flux

React, Redux์—์„œ ์‚ฌ์šฉ๋˜๋Š” Flux ํŒจํ„ด์€ ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„์„ ๋‹จ๋ฐฉํ–ฅ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋””์ž์ธ ํŒจํ„ด์ด๋‹ค.

Action

Redux์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ”๋กœ ๊ทธ ์•ก์…˜๊ฐ์ฒด์ด๋‹ค. ์•ก์…˜๊ฐ์ฒด๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉ์ž์˜ ์ƒํ˜ธ์ž‘์šฉ์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ์ฒด์ด๋‹ค.

์ฆ‰, ์‚ฌ์šฉ์ž์˜ ์ƒํ˜ธ์ž‘์šฉ์œผ๋กœ ์ธํ•ด ๋ณ€๊ฒฝ๋˜๋Š” ๊ฐ์ฒด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

Dispatch

๋ฐœ์ƒํ•œ action๊ฐ์ฒด๋ฅผ Store์— ์ „๋‹ฌํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ Redux๋ฅผ ์‚ฌ์šฉํ• ๋•Œ

dispatch(sampleReducer({title : 'test'}));

์ด๋Ÿฐ์‹์œผ๋กœ action๊ฐ์ฒด๋ฅผ reducer ํ•จ์ˆ˜์— ๋‹ด์•„ dispatchํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋งŽ์ด ์ž‘์„ฑํ•˜๊ฒŒ ๋œ๋‹ค. ์ด dispatch๊ฐ€ ์•ก์…˜๊ฐ์ฒด๋ฅผ ํ•จ์ˆ˜์— ๋‹ด์•„ ์Šคํ† ์–ด๋กœ ์ „๋‹ฌ์‹œ์ผœ์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ฆ‰, dispatch๋ฅผ ํ†ตํ•˜์ง€ ์•Š๊ณ ์„œ๋Š” store์˜ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹จ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ์ˆ˜ ์žˆ๋‹ค.

Store

๋””์ŠคํŒจ์น˜๋กœ ์ „๋‹ฌ๋ฐ›์€ ์•ก์…˜ ๊ฐ์ฒด ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๋Š” ์—ญํ• , ์•ก์…˜๊ฐ์ฒด๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” 2๊ฐ€์ง€์˜ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

  • ๋‹ค๋งŒ, ๋‘๊ฐ€์ง€ ์—ญํ• ์„ ๋ชจ๋‘ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž๊ฐ€ ๋งŒ์•ฝ ์•ก์…˜๊ฐ์ฒด๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋กœ์ง์„ ์ˆ˜์ •ํ•˜๊ฒŒ ๋  ๊ฒฝ์šฐ, ๊ธฐ์กด์— ์ €์žฅ๋˜์–ด ์žˆ๋˜ ์ƒํƒœ ๋“ค๊นŒ์ง€ ๋ชจ๋‘ ์ดˆ๊ธฐํ™” ๋˜์–ด ๋ฒ„๋ฆฐ๋‹ค.

  • ์ด๋Ÿฌํ•œ ๋‹จ์ ์„ ๋ฆฌ๋•์Šค์—์„œ ๋‘ ๊ธฐ๋Šฅ์„ ๋ถ„๋ฆฌํ•˜์—ฌ ํ•ด๊ฒฐํ–ˆ๋‹ค.

    • store : ์•ก์…˜ ๊ฐ์ฒด์˜ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๋Š” ์—ญํ• 

    • reducer : ์•ก์…˜ ๊ฐ์ฒด์˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์—ญํ• 

store์˜ ์ƒํƒœ๊ฐ€ ์—…๋ฐ์ดํŠธ ๋˜๋ฉด, View (Controller View)๋กœ ํ•ด๋‹น ์ƒํƒœ๊ฐ€ ์—…๋ฐ์ดํŠธ ๋˜์—ˆ๋‹ค๊ณ  ์•Œ๋ ค์ค€๋‹ค.

View

store์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ ํ™”๋ฉด์ƒ์— ๋ณด์—ฌ์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. React์˜ Component๊ฐ€ ์ข‹์€ ์˜ˆ์‹œ์ด๋‹ค.

Controller View์™€ View๋กœ ๋‚˜๋‰˜๋Š”๋ฐ, React์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ถ€๋ชจ ์ž์‹ ๊ฐœ๋…์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. store์— ๋ฐ์ดํ„ฐ๊ฐ€ ์—…๋ฐ์ดํŠธ ๋˜์—ˆ๋‹ค๊ณ  Controller View์— ์•Œ๋ ค์ฃผ๋ฉด, ํ•ด๋‹น Controller View์˜ ๋ชจ๋“  ํ•˜์œ„ View์—๊ฒŒ ํ•ด๋‹น ์ƒํƒœ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค.

Last updated