๐บ Front End/-- react & redux & nextjs33 [๋ฆฌ์กํธ Hook ์ฌ์ฉํ๊ธฐ] useState๋ฅผ ์ด์ฉํด์ Functional Component์ state๋ฅผ ๊ด๋ฆฌํ์ ๋ฆฌ์กํธ์์ State๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ ๊ฐ์ง๊ฐ ์๋ค. Class ์ปดํฌ๋ํธ์์์ State ํจ์ํ ์ปดํฌ๋ํธ์์์ State ๋ฆฌ์กํธ ์ด์ฌ์๋ค์ ์ง๊ธ๊น์ง ์ด๋ฐ ์ด์ผ๊ธฐ๋ฅผ ๋ค์์ ๊ฒ์ด๋ค. state๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ Classํ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค ๋ง๋ ๋ง์ด๋ค. ํ์ง๋ง ๋ฆฌ์กํธ๊ฐ ๋ฐ์ ํ๋ฉด์ ๋ฆฌ์กํธ๋ ํด๋์คํ ์ปดํฌ๋ํธ์ ๋ํด์ ๋ง์ ์๊ฐ์ ํ๊ฒ ๋์๋ค. Classํ ์ปดํฌ๋ํธ์ ๋จ์ ์ฌ์ฌ์ฉ์ด ์ด๋ ต๋ค. ๋ฆฌ์กํธ์ ์ฅ์ ์ ์ฌ์ฌ์ฉ์ฑ์ ์๋ค๊ณ ๋ณธ์ธ์ ์๊ฐํ๋๋ฐ, ํด๋์คํ ์ปดํฌ๋ํธ์์๋ ์ปดํฌ๋ํธ ์์ฒด๋ฅผ ์ฌ์ฌ์ฉ ํ ์๋ ์์ง๋ง Component class ๋ถ๋ถ์ ์ธ ๋ก์ง ๋ฐ API ์ฌ์ฉ์ด state๋ฅผ ์ด์ฉํ๋ ์ฒ๋ฆฌ์ ์ฌ์ฌ์ฉ์ ์ ์ฝ ์ฌํญ๋ค์ด ๋ฐ๋ฅด๊ฒ ๋๋ค. ์ฝ๋๊ฐ ๋ณต์กํด์ง๋ค. Classํ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ const.. 2020. 8. 23. [๋ฆฌ์กํธ ๋ถ์ํ๊ธฐ] ๋ฆฌ์กํธ์ ๊ฐ์ Dom์ Native Dom๊ณผ ๋น๊ตํด์ ์ ๋น ๋ฅธ์ง์ ๋ํด์ ์์๋ณด์. ์ฌ์ค ์ด ๊ธ์ ์ ๋ชฉ์ ๋ฆฌ์กํธ์ ๊ฐ์ ๋์ด ์๋๋ผ ๋ชจ๋ ๊ฐ์ ๋์ ์ ๋น ๋ฅธ์ง. ๋ผ๊ณ ํด์ผ ๋ง๋ ํํ์ด๋ค. ๊ฐ์ Dom(Virtural Dom) ์ ๋ฆฌ์กํธ๋ง ์ฌ์ฉํ๊ณ ์๋ ๊ฐ๋ ์ด ์๋๋ผ ๋ค๋ฅธ ํ๋ ์์ํฌ๋ ์ฌ์ฉํ๊ณ ์๋ ๊ฐ๋ ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ์ฐ๋ฆฌ๊ฐ ๊ฐ์ dom์ ์ด์ฉํด์ ๋ฆฌ์กํธ๋ ์ฒ๋ฆฌ๋ฅผ ํ๋ค๊ณ ์๊ณ ์๋๋ฐ, ๋๋์ฒด ์, ์ด๋ป๊ฒ, ๋ฌด์์ด ๋ค๋ฅธ์ง ํ ๋ฒ ์์๋ณด์. Dom ์ฐ๋ฆฌ๊ฐ ๊ฐ์ ๋์ ์๊ธฐ ์ํด์๋ ๋จผ์ Dom์ ๋ํด ์์์ผ ํ๋ค. MDN์์ Dom์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ๊ณ ์๋ค. ํต์ฌ์ ์ฐ๋ฆฌ๊ฐ Javascript์์ HTML์ ์ ๊ทผํ ์ ์๊ฒ ํ๋ ์ญํ ์ด๋ผ๋ ๊ฒ์ด๋ค. ๊ทธ๋ผ DOM์ ์๊น์๋? HTML์ ๊ตฌ์กฐ๋ฅผ ๋ฌธ์ํ ํด๋์ ๊ฒ. ์ฏค์ผ๋ก ์๊ฐํด๋ณด๋ฉด ๋์ ๋ชจ์์ ์๋ง ๋ค์๊ณผ ๊ฐ์ ๊ฒ์ด๋ค. ๋ฑ ๋ณด๋ฉด ๋ญ๊ฐ ๋ ์ค๋ฅด์ง ์.. 2020. 7. 30. [๋ฆฌ์กํธ ๋ถ์ํ๊ธฐ] ๋ฆฌ์กํธ๊ฐ ํ์ด์ง๋ฅผ ๋ผ์ฐํ ํ๋ ๋ฐฉ๋ฒ (3) ๋ถ์ :: react-router-dom์ ์ด์ฉํด์ ํ์ด์ง ๋ผ์ฐํ ํ๊ธฐ ์ด ๊ธ์ ๋ฆฌ์กํธ์ ์ด์ฌ์๋ค์ ์ํ ๊ธ๋ก ๊น์ ๋ด์ฉ์ ์ต๋ํ ๋ฐฐ์ ํ๊ณ ์ฌ์ด ๊ฐ๋ ์ ๋ํด ์์ฑํ์๊ณ , ๋ฆฌ์กํธ์ ์ง์ ์ฅ๋ฒ ์ ๋ฎ์ถ๊ธฐ ์ํ ์์๋ก ์ด๋ ค์ด ๋ด์ฉ์ด ์๋ต๋์ด ์์ ์๋ ์์ต๋๋ค. ์ด ๋ถ๋ถ์ ๊ฝค๋ ํต์ฌ์ ์ด๋ผ๊ณ ์๊ฐํ๊ธฐ ๋๋ฌธ์ 3๋ถ์์ผ๋ก ๋๋ ์ ์ค๋ช ํด๋ณด๋๋ก ํ๊ฒ ๋ค. ํด๋น ๊ธ์ ๋ํด์ ๋ณธ์ธ์ด ์ด ๋ถ๋ถ์ ๋์ด๊ฐ๋ ๋๊ฒ ๋ค๊ณ ์๊ฐํ๋ ๋ถ๋ถ์ ๋์ด๊ฐ์ ํ์ธํ๋ ๊ฒ์ ๊ถ์ฅํ๋ค. ํ์ง๋ง ๊ธธ์ง ์์ ๊ธ์ด๋ฏ๋ก ๊ฐ๋ณ๊ฒ ์ฝ๋ ๊ฒ๋ ์ข์ ๋ฐฉ๋ฒ์ด๋ค. 1๋ถ ๋ฆฌ์กํธ๊ฐ ํ์ด์ง๋ฅผ ๋ผ์ฐํ ํ๋ ๋ฐฉ๋ฒ 2๋ถ Browser History API๋ฅผ ์ฌ์ฉํด์ ํ์ด์ง ๋ผ์ฐํ ํ๊ธฐ 3๋ถ react-router-dom์ ์ด์ฉํด์ ํ์ด์ง ๋ผ์ฐํ ํ๊ธฐ ์ฐ๋ฆฐ ์ง๋ ์๊ฐ์ Brower Histroty API๋ฅผ ํตํด์ ํ์ด์ง๋ฅผ ์๋ฒ์ ์์ฒญ ์์ด ๋ผ์ฐํ ํ๋.. 2020. 7. 20. [๋ฆฌ์กํธ ๋ถ์ํ๊ธฐ] ๋ฆฌ์กํธ๊ฐ ํ์ด์ง๋ฅผ ๋ผ์ฐํ ํ๋ ๋ฐฉ๋ฒ (2) ๋ถ์ :: Broswer History API๋ฅผ ์ฌ์ฉํด์ ํ์ด์ง ๋ผ์ฐํ ํ๊ธฐ ์ด ๊ธ์ ๋ฆฌ์กํธ์ ์ด์ฌ์๋ค์ ์ํ ๊ธ๋ก ๊น์ ๋ด์ฉ์ ์ต๋ํ ๋ฐฐ์ ํ๊ณ ์ฌ์ด ๊ฐ๋ ์ ๋ํด ์์ฑํ์๊ณ , ๋ฆฌ์กํธ์ ์ง์ ์ฅ๋ฒ ์ ๋ฎ์ถ๊ธฐ ์ํ ์์๋ก ์ด๋ ค์ด ๋ด์ฉ์ด ์๋ต๋์ด ์์ ์๋ ์์ต๋๋ค. ์ด ๋ถ๋ถ์ ๊ฝค๋ ํต์ฌ์ ์ด๋ผ๊ณ ์๊ฐํ๊ธฐ ๋๋ฌธ์ 3๋ถ์์ผ๋ก ๋๋ ์ ์ค๋ช ํด๋ณด๋๋ก ํ๊ฒ ๋ค. ํด๋น ๊ธ์ ๋ํด์ ๋ณธ์ธ์ด ์ด ๋ถ๋ถ์ ๋์ด๊ฐ๋ ๋๊ฒ ๋ค๊ณ ์๊ฐํ๋ ๋ถ๋ถ์ ๋์ด๊ฐ์ ํ์ธํ๋ ๊ฒ์ ๊ถ์ฅํ๋ค. ํ์ง๋ง ๊ธธ์ง ์์ ๊ธ์ด๋ฏ๋ก ๊ฐ๋ณ๊ฒ ์ฝ๋ ๊ฒ๋ ์ข์ ๋ฐฉ๋ฒ์ด๋ค. 1๋ถ ๋ฆฌ์กํธ๊ฐ ํ์ด์ง๋ฅผ ๋ผ์ฐํ ํ๋ ๋ฐฉ๋ฒ 2๋ถ Broswer History API๋ฅผ ์ฌ์ฉํด์ ํ์ด์ง ๋ผ์ฐํ ํ๊ธฐ 3๋ถ react-router-dom์ ์ด์ฉํด์ ํ์ด์ง ๋ผ์ฐํ ํ๊ธฐ ์ฐ๋ฆฌ๋ ์ ๋ฒ ์๊ฐ์ ๋ฆฌ์กํธ๊ฐ ํ์ด์ง์์ ์ด๋ค ์์ผ๋ก ๋ผ์ฐํ ๋๊ธธ ์ํ๋์ง? ์ ๋ํด์ ์ ๊น ์์๋ณด์๋ค.. 2020. 7. 20. [๋ฆฌ์กํธ ๋ถ์ํ๊ธฐ] ๋ฆฌ์กํธ๊ฐ ํ์ด์ง๋ฅผ ๋ผ์ฐํ ํ๋ ๋ฐฉ๋ฒ (1) ๋ถ์ :: Single Page Application์ด ๋ฌด์์ด๊ณ ์ด๋ป๊ฒ ๋ฆฌ์กํธ์์ ์ฌ์ฉํ ๊น? ์ด ๊ธ์ ๋ฆฌ์กํธ์ ์ด์ฌ์๋ค์ ์ํ ๊ธ๋ก ๊น์ ๋ด์ฉ์ ์ต๋ํ ๋ฐฐ์ ํ๊ณ ์ฌ์ด ๊ฐ๋ ์ ๋ํด ์์ฑํ์๊ณ , ๋ฆฌ์กํธ์ ์ง์ ์ฅ๋ฒ ์ ๋ฎ์ถ๊ธฐ ์ํ ์์๋ก ์ด๋ ค์ด ๋ด์ฉ์ด ์๋ต๋์ด ์์ ์๋ ์์ต๋๋ค. ์ด ๋ถ๋ถ์ ๊ฝค๋ ํต์ฌ์ ์ด๋ผ๊ณ ์๊ฐํ๊ธฐ ๋๋ฌธ์ 3๋ถ์์ผ๋ก ๋๋ ์ ์ค๋ช ํด๋ณด๋๋ก ํ๊ฒ ๋ค. ํด๋น ๊ธ์ ๋ํด์ ๋ณธ์ธ์ด ์ด ๋ถ๋ถ์ ๋์ด๊ฐ๋ ๋๊ฒ ๋ค๊ณ ์๊ฐํ๋ ๋ถ๋ถ์ ๋์ด๊ฐ์ ํ์ธํ๋ ๊ฒ์ ๊ถ์ฅํ๋ค. ํ์ง๋ง ๊ธธ์ง ์์ ๊ธ์ด๋ฏ๋ก ๊ฐ๋ณ๊ฒ ์ฝ๋ ๊ฒ๋ ์ข์ ๋ฐฉ๋ฒ์ด๋ค. 1๋ถ ๋ฆฌ์กํธ๊ฐ ํ์ด์ง๋ฅผ ๋ผ์ฐํ ํ๋ ๋ฐฉ๋ฒ 2๋ถ Broswer History API๋ฅผ ์ฌ์ฉํด์ ํ์ด์ง ๋ผ์ฐํ ํ๊ธฐ 3๋ถ react-router-dom์ ์ด์ฉํด์ ํ์ด์ง ๋ผ์ฐํ ํ๊ธฐ ์ด๋ฒ ์ฃผ์ ์ ๋ํด์ ์ด์ผ๊ธฐ๋ฅผ ํ๊ธฐ ์ํด์ ์ฐ์ ํ์ด์ง๊ฐ ์ด๋ค ๋ฐฉ์์ผ๋ก ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ง๋์ง ์์์ผ ํ.. 2020. 7. 20. [๋ฆฌ์กํธ ๋ถ์ํ๊ธฐ] ๋ฆฌ์กํธ์ ํต์ฌ JSX์ ๋ํด ์์๋ณด์. (๋ถ์ :: ๋ฆฌ์กํธ์์๋ JSX๋ฅผ ์ด๋ป๊ฒ ์ด์ฉํ ๊น?) ์ฐ๋ฆฌ๋ ์ง๊ธ๊น์ง ๊ณ์ ๋ฆฌ์กํธ์ ๋ํ ํต์ฌ์ ๋ํด์ ์ด์ผ๊ธฐ๋ฅผ ํ์๋ค. ์ด์ ๊ทธ ๋ฆฌ์กํธ๋ผ๋ ๊ฒ์ด ์ด๋ค ์์ผ๋ก ๋์๊ฐ๋์ง ํ์ธํด๋ณด์. JSX JSX๋ JavascriptXML์ด๋ผ๊ณ ํ๋๋ฐ, ์ด๋ Javascript๋ ์๋๊ณ HTML๋ ์๋ ๊ฒ์ด๋ค. ์ ํํ๋ ์คํฌ๋ฆฝํธ์ ํ์ฅ ๋ฌธ๋ฒ์ด๋ผ๊ณ ํ๋ ๊ฒ์ธ๋ฐ, ์ฐ๋ฆฌ๋ ๋ฆฌ์กํธ๋ก ์ด JSX๋ฅผ ํ ์ฉํ์ฌ UI๋ฅผ ๊ตฌ์ฑํ ๊ฒ์ด๋ค. ์ด๋ ๊ฒ ๋ง ํ๋ฉด ๋๋ฌด ์ด๋ ค์ฐ๋ฏ๋ก ์ฐ๋ฆฌ๊ฐ create-react-app์ ํตํด์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ค๊ณ ๊ฐ์ ํ๊ณ , ํด๋น ์ฝ๋์์ JSX๋ ๋ฌด์์ธ์ง ๋ณด์ด๊ฒ ๋ค. ์ฝ๋๋ก ๋ด๋ณด์ ์ฐ๋ฆฌ์ ํ๋ก์ ํธ์์ Index.js์ ์๋ ์ฝ๋๋ฅผ ํ ๋ฒ ๋ด๋ณด์. ReactDOM.render();๋ผ๋ ๊ตฌ๋ฌธ์์ ์ฐ๋ฆฌ๋ JSX๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ค. ์๋ ์ฝ๋๋ฅผ ์ง์๋ณด๊ณ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑํด๋ณด์... 2020. 7. 20. ์ด์ 1 2 3 4 5 6 ๋ค์