๐ ์ํฉ์ ๋ฆฌ
1. ์ญํ ์ ํ ํ๋ฉด์์ ์ฌ์ฉ์๊ฐ ์ญํ ์ ์ ํํ๋ค
2. ์ ํํ ์ญํ ์ ๋ณด๋ฅผ ์๋ฒ๋ก ๋ณด๋ด๋ฉด, ์๋ฒ๊ฐ ๋๋ค ๋งค์นญ ๊ณต์์ ๋ง์ถฐ์ ๋งค์นญ ์ ๋ณด๋ฅผ ๋ฐํํ๋ค
3. ๋งค์นญ ์ ๋ณด๋ฅผ ์ด์ฉํด ๋ฏธํ ์๋น์ค์ ์ ์ฅํ๋ค
๐ ํด๊ฒฐ๊ณผ์
1. ๋งค์นญ ๋๊ธฐ์ค๋ก ์ด๋ํ๋ ํจ์๋ฅผ ์ ์
1-1. ๋งค์นญ ๋๊ธฐ์ค๋ก ์ด๋ํ๋ ํจ์๋ฅผ ์๊ฐํ ์์ํ๊ธฐ ๋ฒํผ์ ๊ฑธ์ด์ค
1-2. ์ฐธ๊ณ ๋ก ์ญํ ์ฝ๋๋ฅผ ์ค์๊ด๋ฆฌ์์ ์ ์ฅํ๋ ๋ฐฉ์์ ์๋์ ๊ฐ์ด ์ ์๋์ด ์์
2. ๋งค์นญ ๋๊ธฐ์ค์ ์ ์ฅํ๋ฉด ๋ฐ๋ก ๋งค์นญ ์ ๋ณด ๋ฐ์์ค๋ matchStart ํจ์ ์คํ
2-1. classํ ํจ์์์ ์ค์๊ด๋ฆฌ์์ ์๋ state๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ, ์ฌ๋ผ์ด์ค์ ์ก์ ํจ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๊ตฌ๊ธ๋ง์ ํตํด ์ฐพ์์
3. matchStartํจ์๋ ์๋์ ๊ฐ์ด ๋์ํจ
3-1. history๋ฅผ ์ฌ์ฉํ ์ด์
์๋ ์ฌ์ดํธ ์ฐธ๊ณ
3-2. ์ฐธ๊ณ ๋ก slice์ matchDataGet ํจ์๋ ์๋์ ๊ฐ์ด ์ ์๋์ด ์์
4. ์ด๋ ๊ฒ ์ค์๊ด๋ฆฌ์์ ์ ์ฅ๋ ๋งค์นญ ์ฑ๊ณต ์ ๋ณด๋ฅผ ํ์ฉํด์ ์คํ๋น๋์ ์ธ์ ์ ์ฐธ๊ฐํ๋๋ก ํ์
4-1. 2-1๊ณผ ๋๊ฐ์ด ๋ฏธํ ํ๋ฉด ํด๋์ค ์ปดํฌ๋ํธ ๋ํ connect๋ก ์ฐ๊ฒฐ๋์ด ์์
๐๊ฒฐ๋ก
๋ฐฉ ์ ์ฅ ์ ๋ณด๊ฐ ๋์๋์ session์ผ๋ก ์ ์ฅ์ด ์ ๋์ง ์์๋ ์ค๋ฅ ์์ธ๊ณผ ํด๊ฒฐ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ด ์์ฝ๋จ.
1. history๋ฅผ ์ฌ์ฉํด์ ํ์ด์ง ์ด๋์ ํ์ํ ๊ฐ(์๋ฒ๋ก๋ถํฐ ๋ฐ์ ๋ฐฉ ๋งค์นญ ์ ๋ณด)์ ๊ฐ์ง๊ณ ์ด๋ํด์ผ ํ์
2. ๋ฐฉ ๋งค์นญ ์ ๋ณด๋ฅผ ๋ฐ์์ ์ค์๊ด๋ฆฌ์์ ์ ์ฅํ๋ ๋์์ thunk์์ ๋ถ๋ฆฌํด์ ๋์์์ผ์ผ ์ ๋๋ก ์๋ํจ, ์ปดํฌ๋ํธ ๋ด๋ถ์์ axios๋ฅผ ์ฌ์ฉํ๋ฉด ์ธ์ ์ด๋์ ์ ํํ๊ฒ ์ ๋ณด๋ฅผ ์ ์ฅํ๋์ง ์ถ์ ํ๊ธฐ๊ฐ ์ด๋ ค์์ ๋ฐฉ ๋งค์นญ ์ ๋ณด๊ฐ ์ด๋์ ๋์๋๋์ง ์ฐพ๊ธฐ ์ด๋ ค์.
3. thunk๋ฅผ ์ฌ์ฉํด์ ํจ์๋ฅผ dispatchํ๊ณ ์ํ๊ฐ fulfilled ์ผ๋ ๋งค์นญ ์ ๋ณด๋ฅผ ์ค์๊ด๋ฆฌ์์ ์ ์ฅํด์ค์ผ๋ก์จ, ๋งค์นญ ์ ๋ณด๊ฐ ์ ๋ฐ์์์ง๋์ง ์ฌ๋ถ๋ฅผ redux-dev-tool๋ก ์ถ์ ํ๊ธฐ๋ ์ฌ์ ์
3-1. ๋น๋๊ธฐ๋ก ๋์ํ๊ฒ ๋ง๋ค์ด์ฃผ๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๋์์ผ๋ก ์ธํด ๋ฐ๋ ค์ ๊ฐ์ฅ ์ค์ํ ๋งค์นญ ์ ๋ณด๊ฐ ๋ฆ๊ฒ ๋ฐ์์์ง๋ ํ์์ ๋ฐฉ์ง ํ ์ ์์
4. componentDidMount ๋ผ์ดํ ์ฌ์ดํด ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ๋งค์นญ์ ๋ณด๋ฅผ ๋ฐ๋ ํจ์, ๋งค์นญ์ ๋ณด๊ฐ ๋ฐ์์์ก๋ค๋ฉด ๋ฏธํ ์ธ์ ์ผ๋ก ๋์ด๊ฐ๋ ํจ์๋ฅผ ๋ฐ๋ก ์คํํด์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ ๋์์ ์ ์ผ ๋จผ์ ์ํํจ
5. ํด๋์คํ ์ปดํฌ๋ํธ์ ํจ์ํ ์ปดํฌ๋ํธ๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ค๋ณด๋ ํผ๋์ค๋ฌ์ ๋๋ฐ, ํด๋์คํ ์ปดํฌ๋ํธ์์ connect๋ฅผ ํ์ฉํด ์ค์๊ด๋ฆฌ์์ state๋ action์ ๊ฐ์ ธ๋ค ์ฌ์ฉํ ์ ์๊ฒ ๋ง๋ ๊ฒ์ด ํด๋น ๋ฐฉ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์๋ keypoint์