#022. ์ดํ ๋ง๋ค๋ฉด์ ๊ฒฝํํ ๊ฒ
์ดํ ์ด๋ฆ์ ๋ฐ๊พธ๊ณ ์ ์ ์ด ์ค์ด์ ๊ทธ๋ฅ ์ด๋๋ก ์ฌ๋ ค๋์๋ ๋ง์์ผ๋ก ๋ด๋ฒ๋ ค ๋๋๋ฐ
์ฒ์๋ณด๋จ ํจ์ฌ ์ฒ์ฒํ๊ฒ์ง๋ง ์ ์ ๊ฐ 600๋ช ์ด ๋์๋ค.
์์นจ๋ถํฐ ์ ๋ฌผ๋ฐ์ ๊ธฐ๋ถ์ด๋ค ใ ใ
โ
์ฌ์ค ์ด ์ดํ์ ๋์๊ฒ ํฐ ์ข์ ๊ฐ์ ์คฌ๋ ์ดํ์ด๋ค.
ํผ์ ์ดํ์ ๋ง๋ค๋ฉด ๊ทธ๋ฐ ์ง์ ์ด ์๋ค.
์ด๋ป๊ฒ ํด์ผํ๋ ์ง ๋ชจ๋ฅด๊ฒ ๋๋ฐ ๋ด๊ฐ ํ์ง ์์ผ๋ฉด ๊ฒฐ๊ตญ ๊ฐ๋ฐ์ ์ฌ๊ธฐ์ ๋ฉ์ถ๊ฑฐ๋ ์์ ์ด ๊ธฐ๋ฅ์ ๋ฃ์ง ๋ชปํ๊ฒ ๋๋ ์ง์ ์ด๋ค. ํฌ๊ธฐํ๊ฑฐ๋ ํผํด๊ฐ๊ฑฐ๋. ์ด๋์ ๋ด๊ฐ ๋ชจ๋ฅด๋ ๊ฒ์ ๊ฒ์ํ๊ณ ์ฝ๊ณ ๊ฑฐ๊ธฐ์ ์ป์ ํค์๋๋ก ๋ ์๋ก์ด ์ง๋ฌธ์ํ๊ณ ๊ณต๋ถ๋ฅผํ๊ณ ๊ทธ๋ฌ๋ค ๋ณด๋ฉด ๋ด๊ฐ ํด์ผํ๋ ํค์๋์ ์ง๋ฌธ์ด ๋ค์ด๊ฐ ์ ํํ ์ง๋ฌธ์ ์ฐพ๊ฒ ๋๋ค.
โ
React๋ state(์ํ)๋ฅผ ์ปดํฌ๋ํธ ์ฌ์ด์ ์ฃผ๊ณ ๋ฐ์ผ๋ฉด์ ๊ด๋ฆฌํ๋๋ฐ ์ด ์ดํ์ ๊ฒฝ์ฐ '์ด๋ค ์์ ์ ๋ช๋ฒ ์ฌ์ํ ์ง'์ ๋ํ state(๊ฐ ์์ ๋ง๋ค count state)๋ฅผ setting ํ์ด์ง์ audio playerํ์ด์ง ์ฌ์ด์ ์ฌ๋ฌ๋ฒ ์ ๋ฐ์ดํธ๋ฅผ ์ฃผ๊ณ ๋ฐ์์ผํ๋ค. ํ ๋ฒ์ count ๊ฐ์ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ด ์๋๋ผ 1์ฉ ์ฌ๋ฆฌ๊ฑฐ๋ ๋นผ์ผํ๊ณ , ์์ ์ 10๊ฐ๊ฐ ์๋ค. ๊ทธ๋ฌ๋ค๋ณด๋ ๋ฆฌ๋๋๋ง์ด ์์ฒญ๋๊ฒ ๋ง์ด ์ผ์ด๋๋ค.๐ซ ๋ฟ๋ง ์๋๋ผ Redux๋ ๋ถ๋ชจ์์ ์์์ผ๋ก ์ผ๋ฐฉํฅ props ์ ๋ฌ์ ํด์ผํ๋ค. ์์ component์์ ๋ถ๋ชจ component๋ก ๋ณด๋ด๋ ๊ฒ์ ๊ต์ฅํ ๋ณต์กํ๋ค. ๋ฌผ๋ก ์์ ๋ฐฉ๋ฒ์ด ์๋ ๊ฒ์ด ์๋๋ฉฐ ํจ์ ์์ฒด๋ฅผ ์์์ผ๋ก ๋ณด๋ด ํจ์๋ฅผ ๋ณํ์์ผ ๋๋ ค์ฃผ๋ ๊ฒ์ผ๋ก ๋ถ๋ชจ์ ์ํฅ์ ๋ฏธ์น ์ ์๋ค. (์ฒ์์๋ ๋ฉ๋ถํ๋ฉฐ ์ด ๋ฐฉ๋ฒ์ผ๋ก ํด๋ณด๋ ค๊ณ ๋ ํ๋ค..)
โ
๊ทธ๋ ์ง๋ง ๋ด๊ฐ ํ๋ ๊ฑฐ์ ๋ชจ๋ ์ผ๋ค์ด ๊ทธ๋ ๋ค. ๋๋ฌด ํ๊ณ ์ถ์ด์ ๋๊ฐ ์ํค์ง๋ ์์๋ฐ ๋ด๊ฐ ํ๊ณ ์ถ์ด์ ํ๋ ์ผ์ด๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์ ๊ทธ๋ฅ ๊ทธ๋ง ๋ ์๊ฐ ์์๋ค. '์์ ์ด๊ฑธ ์ด๋ป๊ฒ ํ์ง......๐จ' ํ๋ฉฐ ์นจ๋์ ๊ฐ์ ๋์์๋ ์ด๋ป๊ฒ ํ๋ฉด ๋ ๊น ์๊ฐํ๊ณ ์ฐ์ฑ ๊ฐ๋ค์ค๋ฉด์๋ ์๊ฐํ๋ ๊ทธ๋ฐ ๋๋์ผ๋ก ๋๋ ๋ชจ๋ฅด๊ฒ ์ด ์๋ฃจ์ ์ ๊ณ~์ ์๊ฐํ๋ค.
๊ทธ๋ ๊ฒ '๋ฐฉ๋ฒ์ด ์์ง ์์๊น? ์ ๋ง ์ด๊ฒ ์ต์ ์ผ๊น?' ํ๋ ์๊ฐ์ผ๋ก ๊ณ์๊ณ์ ์ฐพ์๋ธ ๊ฒฐ๊ณผ [ Redux ]๋ก ํด๊ฒฐํ ์ ์๋ค๋ ๊ฒ์ ์๊ฒ๋์๋ค.
โ
์ฌ์ค Redux๋ ์ ํํ ๋ด๊ฐ ๋ถ๋ชํ '๊ทธ ๋ฌธ์ '๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋์จ solution์ด์๋ค. Redux๋ React ์ Component๊ฐ์ state ๊ด๋ฆฌ๋ฅผ ํ๊ธฐ ์ํด ํ์ํ๋ค. component๊ฐ์ props๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฑธ๋ก๋ ์ฌ๋์ ํ์ด๊น์ง ์ฃผ๊ณ ๋ฐ๊ณ ์ปดํฌ๋ํธ ์ด๊ณ ๋ซ๊ณ ํ๋ ์ฉ์๋ฅผ ํด์ผํ๊ธฐ ๋๋ฌธ์ (์ง๋ฌธ์ ์ฐพ์ ๋ค์ด๊ฐ๋ฉฐ ์ด๋ ๋ธ๋ก๊ทธ์์ ์ฝ๊ณ ์ ๋๋ฌด ๊ณต๊ฐ์ด ๋์ด์ ๊ฐ์ ธ์๋ค. ใ ใ ใ ) ์์ component์ ๋ถ๋ฆฌ๋ status ๊ด๋ฆฌ warehouse๋ฅผ ๋ง๋ค์ด์ ๋ชจ๋ ๊ฑฐ๊ธฐ์ status ์ ๋ฐ์ดํธ๋ฅผ ํ๊ณ ๊ฑฐ๊ธฐ์์ ๊ฐ์ ธ๋ค ์ฐ์๋ ๊ฐ๋ ์ด๋ค.
โ
โ
์ผ๋ง๋ ๋ฉ์ง ์๋ฃจ์ ์ธ์ง!! ์ฌ๋ง ํ ๊ฐ์ด๋ฐ์ ์ค์์์ค๋ฅผ ์ฐพ์ ๊ธฐ๋ถ์ด์๋ค.
์ด๋ ๊ฒ Redux๋ฅผ ์๊ณ ๋ ๋ช์๊ฐ๋ง์ ๊ณต๋ถํด์ ๋ฐ๋ก ์ ์ฉ์์ผฐ๊ณ ๊ทธ๋์ ํ์ํ ๊ฒ์ด ์ด ์ดํ์ด๋ค.
๊ทธ๋์ ์ด ์ดํ์ ๋ณด๋ฉด ๊ณ ์ํ๊ณ ๊ฒ์ํ๋ฉด์ ์ฒ์์ผ๋ก Redux๋ผ๋ ๋จ์ด๋ฅผ ์ฒ์ ์ฐพ๋ ๊ทธ ํํฌ๊ฐ ๊ธฐ์ต๋๋ ์ดํ์ด๋ค. ์ฐธ ์ข์ ์ถ์ต์ด๋ค.
โ
์๋ฌดํผ ์์ฆ ์ ์ ์์ด ๋ฐ์์ง๋ง ์กฐ๊ธ ์ฌ์ ๊ฐ ์๊ธด๋ค๋ฉด ์ด ์ดํ์ ์ปจํ ์ธ ๋ ์ ๋ฐ์ดํธํ๊ณ ๋ถ์กฑํ๋ ๋ถ๋ถ๋ ์ฌ์ ๋กญ๊ฒ ๋ณด์ํ๊ณ ์ถ๋ค. ๊ทธ ๋๊น์ง๋ ๋ ์ฆ๊ฒ๊ฒ ๊ฐ๋ฐํด์ผ๊ฒ ๋ค.
โ