์ปดํฌ๋ํธ4 [React] Rerendering(๋ฆฌ๋ ๋๋ง) ๋ฆฌ์กํธ๋ฅผ ๊ณต๋ถํ๋ค๋ณด๋ฉด, ํจ์จ์ฑ์ด๋ผ๋ ๋จ์ด๋ฅผ ๋นผ๋์ ์๊ฐ ์๋ ๊ฒ ๊ฐ๋ค. ์ ๋ฒ์ ์ ๋ฆฌํ๋ DOM์์์ ๊ฐ์ ๋๋ ๊ทธ๋ ๊ณ , ์ด๋ค ํ ๊ฐ๋ ์ ๊ณต๋ถํ ๋๋ง๋ค ๊ทธ ๊ฐ๋ ์ด ํจ์จ์ ์ด๊ฒ ๋์์ค๋ค๊ณ ํ๋ ๊ฒ์ด ๋ง๋ค๋๊ฒ์ด๋ค. ๋๋ ์ ์ ์ด๋ฐ ์ง๋ฌธ์ ๋ฐ์ ์ ์ด ์๋ค. '๋ฆฌ๋ ๋๋ง์ด ๋ญ์ง ์์๋์?' ์ด ๊ธ์ ๋ณด๋ ์ฌ๋ฌ๋ถ๋ค์ ๋ฌด์จ ๋๋ต์ ํ๊ฒ ๋๊ฐ? ๋๋ ๊ทธ๋๋ ๋ถ๋๋ฝ์ง๋ง ๋ฆฌ๋ ๋๋ง์ด ๊ทธ๋ฅ ๋ ๋๋ง์ ๋ค์ํ๋ค๋ ๊ฑฐ ์๋๊ฐ? ์ด๋ ๊ฒ ์๊ฐํ์๋ค. ์ฌ์ค ๋ง ๋ป์ ๊ทธ๋ ๋ค. ํ์ง๋ง, ์ง๋ฌธ์ ์๋๊ฐ ๊ณผ์ฐ ์ง์ง ๋ป์ ๋ฌผ์ด๋ณด๋ ๊ฒ์ด์์๊น? ์ด๋ ๋ชจ๋ ์ง๋ฌธ์ ๋ต์ ๊ฐ๋ก๊ฐ์ด ํ ๋๋ ์ง์ ์์ ์ฐจ๋ถํ ๋ค ์ ์ด๋จ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ๊ณต๋ถํ๋ฉด์ ์ฑ์๋๊ฐ๊ธฐ ์์ํ๋ค. ๋ฆฌ๋ ๋๋ง์ ๋ฌด์์ธ์ง ๊ทผ๋ณธ๋ถํฐ ์์์ผํ๋ฉฐ, ์ ์ด๊ฑธ ์์์ผํ๋์ง, ์ด๋์์ ์ด ๊ฐ๋ ์ด ์ฐ์ด๋.. 2021. 6. 24. [React] ํฌ๋๋ฆฌ์คํธ ์ปดํฌ๋ํธ ๊ตฌ์กฐ&์ฝ๋ ๋ถ์ ๐๋ฆฌ์กํธ๋ฅผ ๋ค๋ฃจ๋ ๊ธฐ์ ์ ํตํด ๊ณต๋ถํ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ์์ฑํ ํฌ์คํธ์ ๋๋ค.๐ ์ค๋์ ๊ทธ๋์ ๋ฐฐ์ ๋ ์ปดํฌ๋ํธ๋ค์ ์ค์ฌ์ผ๋ก ํ ์ผ์ ์์ฑํ๊ณ ๊ธฐ๋กํ๋ ํฌ๋๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด๋ณด์๋ค. ์ฒ์์ผ๋ก ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํด์ ์์ฑ๋ ํ ํ์ด์ง๋ฅผ ๋ง๋ค์ด๋ณด๋ ๊ฑฐ๋ผ ์์ ๋ฅผ ๋ฐ๋ผํ๋ฉด์๋ ์ปดํฌ๋ํธ๊ฐ์ ๊ตฌ์กฐ์ ์ธ์ธํ๊ฒ ์ฐ์ด๋ ์์ฑ๋ค์ ๊ดํด ๋ ์์ธํ๊ฒ ์๊ณ ์ถ์๋ค. ๊ทธ๋ฆฌ๊ณ , ์ฝ๋๋ฅผ ์์ฑํ๋๋ฐ ์์ด ๊ถ๊ธํ ๋ถ๋ถ๋ค์ด ๋ง์ด ์์ด์ ์ ๋ฆฌํด๋ณด์๋ค. ์ผ๋จ ์ ๋ฆฌํ ๋ถ๋ถ์ ํฌ๋๋ฆฌ์คํธ์ ์ปดํฌ๋ํธ ๊ตฌ์กฐ import cn from {classnames}; ๋ฆฌ์กํธ๋ก ๋ง๋ ํฌ๋๋ฆฌ์คํธ ์ฝ๋ ์๋๋ ์ฝ๋๋ฅผ ๋ค ๋ฐ๋ก ์ฌ๋ฆฌ๋ ค๊ณ ํ์ง๋ง, ๋ง๋ ํ์ผ๋ ๋ง๊ณ ํ๋ค๋ณด๋ ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง ๊ฒ ๊ฐ๋ค๋ ํ๋จํ์ ๊นํ์ ์ฌ๋ฆฌ๋ ๊ฒ ๋ ๋์ ๊ฒ ๊ฐ๋ค. github.com/MinJoo-.. 2021. 1. 11. [React] ํจ์ํ ์ปดํฌ๋ํธ VS ํด๋์คํ ์ปดํฌ๋ํธ ์๋ ํ์ธ์. ์ค๋์ ์ปดํฌ๋ํธ์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค. ์ปดํฌ๋ํธ๋ ์ธํฐํ์ด์ค๋ฅผ ์ค๊ณํ ๋ ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๋ ์ฌ๋ฌ๊ฐ์ง ์์๋ค์ ๋ปํฉ๋๋ค. ์ปดํฌ๋ํธ๋ props๋ฅผ ๋ฐ์์ elelement๋ฅผ ์ถ๋ ฅํ๋ ํจ์์ ๊ฐ์ต๋๋ค. ์ด๋ฌํ ์ปดํฌ๋ํธ๋ฅผ ์ ์ธํ๋ ๋ฐฉ์์ผ๋ก๋ ๋๊ฐ์ง๊ฐ ์์ต๋๋ค. ๋ฐ๋ก ํจ์ํ ์ปดํฌ๋ํธ์ ํด๋์คํ ์ปดํฌ๋ํธ! ๊ณผ์ฐ ๋์ ์ด๋ค ์ฐจ์ด๊ฐ ์๊ณ , ์ด๋ค ๊ธฐ์ค์ผ๋ก ์ฌ์ฉํ ์ปดํฌ๋ํธ๋ฅผ ์ ํ๋๊ฒ ์ข์๊น์? ์ ๋ ์ด์ ๋ํ ๋ด์ฉ์ '๋ฆฌ์กํธ๋ฅผ ๋ค๋ฃจ๋ ๊ธฐ์ ' ์ฑ ๊ณผ ๋ฆฌ์กํธ ๊ณต์๋ฌธ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ณต๋ถํ์ต๋๋ค. (ko.reactjs.org/docs/components-and-props.html#function-and-class-components) ์ ๊ฐ ์ดํดํ ๊ฐ๋ ์ ์ฐ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์, ํ๋ฆด ์๋ ์๋ค๋ ์ ! โ์ฝ๋๋น๊ต //ํจ.. 2020. 12. 29. [React] JSX โ์๋ ๋ด์ฉ์ [๋ฆฌ์กํธ๋ฅผ ๋ค๋ฃจ๋ ๊ธฐ์ ] ์ฑ ์์ ๊ณต๋ถํ ๋ด์ฉ์ ์์ฝํ์์ต๋๋ค. JSX๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ํ์ฅ๋ฌธ๋ฒ์ด๋ฉฐ, XML๊ณผ ๋งค์ฐ ๋น์ทํ๊ฒ ์๊น JSX๋ฅผ ์ฌ์ฉํ๋ฉด,,, ํธํ๊ฒ ๋ ๋๋ง ๊ฐ๋ฅ HTML์ฝ๋์ ์ ์ฌํด์ ๋ณด๊ธฐ ์ฝ๊ณ , ์ต์ ์ปดํฌ๋ํธ๋ฅผ HTMLํ๊ทธ ์ฐ๋ฏ์ด ์ฌ์ฉํ๋ฉด์ ํ์ฉ๋๊ฐ ๋์ ์์) import React from 'react'; function App(){ return( ๋ฆฌ์กํธ ์๋ ! ์ ์๋ํ๋? ); } export default App; ์์ ์ฝ๋์ฒ๋ผ h1ํ๊ทธ์ h2ํ๊ทธ๊ฐ divํ๊ทธ ํ๋๋ก ๊ฐ์ธ์ ธ์๋ค. ์ด๋ ๊ฒ ๋ฆฌ์กํธ ์ปดํฌ๋ํธ์์ ์์ ์ฌ๋ฌ ๊ฐ๋ฅผ ํ๋์ ์์๋ก ๊ฐ์ธ๋ ์ด์ ? ์ปดํฌ๋ํธ ๋ด๋ถ๋ ํ๋์ DOM ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ์ผ ํ๋ค๋ ๊ท์น์ด ์๊ธฐ ๋๋ฌธ ์กฐ๊ฑด๋ถ ์ฐ์ฐ์ JSX ๋ด๋ถ์ ์๋ฐ์คํฌ๋ฆฝํธ .. 2020. 12. 23. ์ด์ 1 ๋ค์ ๋ฐ์ํ