๐ FrontEnd -Study/Redux3 [Cmarket Redux] ์ค๋์ ์ด์ ์ react๋ก ์์ ํ cmarket์ redux๋ฅผ ์ฌ์ฉํ์ฌ ์งํํด๋ณด์๋ค. ์ด์ ์๋ Props Drilling ์ผ๋ก ์ธํ์ฌ ๊ตณ์ด ํด๋น ๋ฐ์ดํฐ๊ฐ ํ์ ์๋ ๊ณณ๊น์ง ์ปดํฌ๋ํธ๋ฅผ ๊ฑฐ์น๊ณ ๊ฑฐ์ณ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํด์ฃผ๊ณค ํ๋ค. props๋ก ๋๊ฒจ์ฃผ๋ ๋์ํ๋ฆ์ ์ ๋ฆฌํด๋ณด์๋ค. Item์ ํด๋ฆญํ๋ฉด CartItem์ ๋ด๊ฒจ์ผ ํ๋ค. ์ด ๋ ์ปดํฌ๋ํธ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๊ธฐ ์ํด์๋ ๊ณตํต ๋ถ๋ชจ์ ์ํ๋ฅผ ์์น์ํค๊ณ , Item์ App์์ ๋ด๋ ค์ฃผ๊ณ ๋ด๋ ค์ฃผ๋ ๊ทธ๋ฐ ํ๋ฆ์ ๊ฐ์ง๊ณ ์๋ค. ํ์ง๋ง Redux๋ฅผ ์ฌ์ฉํด์ ์ ์ญ์ผ๋ก ์ํ๋ฅผ ๊ด๋ฆฌํ๊ณ ํ์ํ ๊ณณ์์ ๊บผ๋ด ์ธ ์ ์๋ค! ๋จผ์ , ํ์ผ์ ๊ตฌ์ฑ์ ์ด๋ ๋ค. ์ด์ Redux ๊ด๋ จ ๋ด์ฉ์ ์ ์ ๊ฒ ์ฒ๋ผ ๊ฐ๊ฐ์ ์ฉ๋๋ณ๋ก ํ์ผ์ด ๊ตฌ๋ถ๋์ด์๋ค. ์ฒ์์ ๋ฐ๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ ค๋ค ๋ณด๋ ํ๋ฆ์ด ์ดํด๊ฐ .. 2023. 4. 25. [Redux ์ค์ต] ์ค๋ ๋ฆฌ๋์ค๋ฅผ ์ฒ์ ๋ฐฐ์ฐ๋๋ฐ ๋ฌด์จ ๋ง์ธ์ง ์ ์ดํด๊ฐ ์ ๊ฐ๋ค..! ๋ด์ผ ๋ฆฌ๋์ค๋ฅผ ํ์ฉํ์ฌ ๊ณผ์ ๋ฅผ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๊ณต๋ถํ๋ ๊ณผ์ ์ ๋ธ๋ก๊น ์ ํตํด ๋ ๊ผผ๊ผผํ๊ฒ ๊ธฐ๋กํด๋ณด๋ ค ํ๋ค. 1. ์นด์ดํฐ ์์ ์ฌ์ง์ ๋ณด์ด๋ ๊ฒ์ฒ๋ผ + ๋ฒํผ์ ๋๋ฅด๋ฉด ์ซ์๊ฐ 1์ ๋ํ ๊ฐ์ด, - ๋ฒํผ์ ๋๋ฅด๋ฉด 1์ ๋บ ๊ฐ์ ํ๋ฉด์ ์ถ๋ ฅํ๋ ์ค์ต์ ํด๋ณด์! index.js import { legacy_createStore as createStore } from 'redux'; const counterReducer = (state = count, action) => { switch (action.type) { case 'INCREASE': return state + 1; case 'DECREASE': return state - 1; case .. 2023. 4. 25. [Redux] Redux๋? Redux๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ๋ฅผ ์ ์ญ์ผ๋ก ๊ด๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์คํ์์ค JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. React์ ํจ๊ป ์ฌ์ฉ๋๊ธฐ๋ ํ์ง๋ง, ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ๋ ์์ํฌ์๋ ์ฌ์ฉํ ์ ์๋ค. 1. ๋ฑ์ฅ ๋ฐฐ๊ฒฝ Redux๊ฐ ๋์ ๋๊ธฐ ์ ์๋ MVC ํจํด ํ์(์ํํธ์จ์ด ๋์์ธ ํจํด)์ผ๋ก state๊ฐ ์ฌ์ฉ๋์๋ค. Model, View, Controller์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๊ณ ๊ฐ์ด ๋ณํํ๋ ๊ตฌ์กฐ๋ก ์๋ฐฉํฅ ๋ฐ์ดํฐ ํ๋ฆ์ ๊ฐ์ก๋๋ฐ ์ด๋ฌํ ์๋ฐฉํฅ์ ๋ฐ์ดํฐ ํ๋ฆ์ ๋ณต์กํ๊ณ ๋ฐ์ดํฐ ํ๋ฆ์ ํ๋จํ๊ธฐ ํ๋ ๊ตฌ์กฐ์ฌ์ ๋จ๋ฐฉํฅ ๋ฐ์ดํฐ ํ๋ฆ์ด ์๊ฒผ๊ณ ๊ทธ๊ฒ ๋ฐ๋ก Redux์ด๋ค. ์ํ๊ฐ ๋ณ๊ฒฝ๋์ด์ผ ํ๋ ์ด๋ฒคํธ ๋ฐ์ํ๋ฉด, ๋ณ๊ฒฝ๋ ์ํ์ ๋ํ ์ ๋ณด๊ฐ ๋ด๊ธด Action ๊ฐ์ฒด๊ฐ ์์ฑ๋๋ค. Action๊ฐ์ฒด๋ Dispatch .. 2023. 4. 24. ์ด์ 1 ๋ค์ 728x90