์ ์ฒด ๊ธ (47) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ React #2. JSX ์๊ฐ ์๋ ๋ณ์ ์ ์ธ์ ์ฐธ์กฐํด๋ณด์. const element = Hello, world!; ์ด ํ๊ทธ ๊ตฌ๋ฌธ์ ๋ฌธ์์ด์ด๋ HTML์ด ์๋๋ค. JSX๋ผ๊ณ ๋ถ๋ฅด๋ JavaScript์ ํ์ฅ ๊ตฌ๋ฌธ์ด๋ค. ์ฝ๊ฒ ๋งํด์ JavaScript์ HTML์ ํฉ์ณ๋์ ๋ฌธ๋ฒ์ด๋ค. JSX๋ React์ ์์(Element) ๋ฅผ ์์ฑํ๋ค. (createElement) ๊ฒฝ๊ณ : JSX๋ HTML๋ณด๋ค JavaScript์ ๋ ๊ฐ๊น๊ธฐ ๋๋ฌธ์ React DOM์ camelCaseHTML ์์ฑ ์ด๋ฆ ๋์ ์์ฑ ์ด๋ฆ ์ง์ ๊ท์น์ ์ฌ์ฉํ๋ค. (ex) class --> className, tabindex --> tabIndex. JSX์ ์ค๊ดํธ ์์ JavaScript ํํ์์ ๋ฃ์ ์ ์๋ค. ์๋์ ์์์๋, ์๋ฐ ์คํฌ๋ฆฝํธ ํจ์ ํธ์ถ์ ๊ฒฐ๊ณผ๋ฅผ ์ค๊ดํธ.. React #1. ๋ฆฌ์กํธ๋ ๋ฌด์์ธ๊ฐ React๋ Facebook์ด ๋ง๋ ํ์ฌ ๊ฐ์ฅ ํซํ ํ๋ก ํธ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ๋ง์น 2006๋ , ์ฒ์์ผ๋ก jQuery๊ฐ ๋์์ ๋์ ์ธ๊ธฐ๊ฐ ์ด ์ ๋์์๊น? ๊ฐ๋ฐ์๋ค์ ์ React์ ์ด๋ ๊ฒ ์ด๊ดํ ๊น? ํฌ์คํ ์ ์์ React๊ฐ ์ ํํ ๋ฌด์์ธ์ง, ์ ํ์ํ์ง์ ๋ํด์ ์์๋ณด์. ์ฌ์ค ๋จ์ํ ์ ์ ์น ์ฌ์ดํธ๋ฅผ ๊ตฌํํ๊ธฐ ์ํด์๋ ๋ณ๋์ ํ๋ก ํธ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ์ํ์ง ์๋ค. HTML, CSS๋ง์ผ๋ก๋ ๋ง๋ค์ด ๋ผ ์ ์๋ค. ์ฌ๊ธฐ์ JavaScript๋ฅผ ๋ํ๋ฉด ์ฌ์ฉ์์ ํ๋ ํ๋ฆ์ ๋ฐ๋ผ ๋์ ์ผ๋ก ์น ์ฌ์ดํธ๋ฅผ ํํํ ์ ์๋ค. ํ์ง๋ง ์์ฆ์ Web์ ๋จ์ํ ์ปจํ ์ธ ๋ฅผ ๋ ธ์ถํด์ฃผ๋ ์น ํ์ด์ง๊ฐ ์๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ค. ๋ธ๋ผ์ฐ์ ์์ผ๋ก๋ JavaScript๋ฅผ ํตํด ์์ฐ์ค๋ฌ์ด ํ๋ฆ์ ๋ํ๋ผ ์ ์์ง๋ง UI๋ฅผ ๋์ ์ผ๋ก ๋ํ๋ด.. React ๊ณต๋ถ ์ ์ฐธ๊ณ ํด์ผ ํ 5๊ฐ์ง SPA๊ฐ ์๊ฒจ๋๋ฉด์ React.js, Angular, Vue๊ฐ ํฐ ์ฃผ๋ชฉ์ ๋ฐ๊ณ ์๋ค. ๊ทธ ์ค์์๋ Facebook์ด ์ ๊ณตํ๋ ์คํ ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ React๋ ํ์ ์์ ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๊ณ ์๊ณ , ๊ธฐ์กด์ JavaScript ๊ฐ๋ฐ์๋ค์ ํฐ ์์ฐ์ฑ ํฅ์์ ๊ธฐ์ฌํ๊ณ ์๋ค. SPA (Single Page Application) ์ฐจ์ธ๋ ํจ๋ฌ๋ค์. ๋จ์ผ ํ์ด์ง ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ธ๋ผ์ฐ์ ์ ๋ก๋๋๊ณ ๋ ๋ค์ ํ์ด์ง ์ ์ฒด๋ฅผ ์๋ฒ์ ์์ฒญํ๋๊ฒ์ด ์๋๋ผ ์ต์ด ํ๋ฒ ํ์ด์ง ์ ์ฒด๋ฅผ ๋ก๋ฉํ ํ ์ดํ๋ถํด ๋ฐ์ดํฐ๋ง ๋ณ๊ฒฝํด์ ์ฌ์ฉํ ์ ์๋ ์น ์ดํ๋ฆฌ์ผ์ด์ -> Angular, Vue, React๊ฐ ์๊ฒจ๋ ๋ฐฐ๊ฒฝ ํ์ ๋ํ React๋ฅผ ์ ํ๊ฒ ๋ ์ง ๊ทธ๋ฆฌ ๊ธธ์ง ์์ ๋ฅ์ํ์ง๋ ์์ง๋ง, ํ์ต ๊ณผ์ ์์ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ๋ค์ ๊ฑฐ์ณ๋ณด๋ฉด์ ์ด๋ ๊ฒ ๊ณต๋ถ.. 2020๋ ์ ์น ๊ธฐ์ ๊ฐ๋ฐ ์คํ ์น ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ๋ ๊ณ ๋ คํด์ผ ํ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์ฑ์ ๊ธฐ๋ฐ์ด ๋๋ ๊ธฐ์ ์คํ์ด๋ค. ์ ์ ํ ๊ธฐ์ ์คํ์ ํตํด ์ ์ ์์ฐ์ผ๋ก ๊ฐ์ฅ ํฐ ํจ๊ณผ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ๊ธฐ์ ์ ์ฅ์์๋ ํนํ ์ด๋ ค์ด ๊ณผ์ ์ด๋ฉฐ ์ฌ๋ฐ๋ฅธ ๊ธฐ์ ์คํ ์ฌ์ฉ์ ํ๋ก์ ํธ์ ์ฑ๊ณต๊ณผ ์คํจ๋ฅผ ๊ฒฐ์ ์ง๋ ์ค์ํ ์ด์ ๋ค. ๋ฌผ๋ก ํ์๋ ํ๋ก์ ํธ๋ฅผ ์ง์ ์ด์ํ๊ณ ์์ง๋ ์๊ณ , ์ฌ์ฉํ ๊ธฐ์ ์คํ์ ์ ํํ ์ ์ฅ์ด ์๋๊ธฐ ๋๋ฌธ์ ํด๋น ์ฌํญ์ด ์๋ค. ํ์ง๋ง 2020๋ ์ ์ด์๊ฐ๋ Front-End ๊ฐ๋ฐ์๋ก์ ์์๋๊ฐ์ผ ํ ๊ธฐ์ ์คํ์ ๋ฐฉํฅ์ฑ์ ์ ํ๋ ๋ฐ ๋์์ด ๋๊ณ ์ ํฌ์คํ ์ ํด๋ณธ๋ค. 2020๋ ์น ๊ธฐ์ ๊ฐ๋ฐ ์คํ ์ต์ ์น ๊ธฐ์ ์คํ์ ์ ํํ๊ธฐ ์ด์ ์ ์น ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ํ๋ก์ธ์ค ๊ตฌ์ฑ์์๋ฅผ ๋ช ํํ๊ฒ ์ดํดํด์ผ ํ๋ค. ์น ๊ฐ๋ฐ์๋ ํฌ๊ฒ ํด๋ผ์ด์ธํธ ์ชฝ๊ณผ ์๋ฒ ์ชฝ์.. JavaScript Immutability ํ์ ์ ๋ค์ด์ ๋ณธ๊ฒฉ์ ์ผ๋ก JavaScript๋ฅผ ์ ํ๊ฒ ๋๋ฉด์ ํญ์ ์๋ฌธ์ด ๋ค์๋ ๋ถ๋ถ์ด ์์๋ค. " var ์ ์ธ๋ฌธ ํ๋๋ก number, Array ๋ฑ ๋ค์ํ ๋ฐ์ดํฐ ํ์ ๋ค์ ๋ค๋ฃจ๋ฉด์ ์ด๋ค ํ์ด๋ฐ์ ๊ฐ์ ์ ์งํ๊ณ ๋ณํ์์ผ์ผ ํ์ง? " ์ ์ ์์ ๋ณ์๊ฐ ์๋ 10000๊ฐ, ๋๋ ๊ทธ ์ด์์ ์๋ง์ ๋ณ์๋ฅผ ์ ์ธํ๋ ๊ฒฝ์ฐ ์ด๋ฅผ ์ ์ดํ๊ธฐ๋ ์ฝ์ง ์์ ๊ฒ์ด๋ค. JS Immutability๋ ํนํ React์ ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋๋ redux, time travel๊ณผ ๊ฐ์ ๊ณ ๊ธ ๊ธฐ๋ฒ์ ๊ตฌํํ๋๋ฐ ๊ธฐ์ด๊ฐ ๋๊ธฐ๋ ํ๋ค. ์ฐธ๊ณ ๋ก JS Immutability๊ฐ React์ ๊ธฐ์ด ์ง์ state๋ฅผ ์ดํดํ๋ ๋ฐ ํฐ ๋์์ด ๋๋ค. ํ์๋ react๋ฅผ ์ฒ์ ์ ํ ๋ค Immutability๋ฅผ ์ ๋ฆฌํ๋ฉด์ ์ ๋ ์นด๋ฅผ ์ธ์ณค๋ค... JavaSc.. ๊ฐ๋ฐ์๋ก์ ๊ผญ ์์์ผ ํ ์ธ์ด 2๊ฐ์ง ์ต๊ทผ ์ง์ธ์ ์ถ์ฒ์ ํตํด ํฌํ tv ์ ํ๋ธ ์์์ ์ถ์ฒ๋ฐ์ ๋ณด๊ฒ ๋์๋ค. ๋งํฌ ๊ฐ๋ฐ์๋ก์ ๊ผญ ์์์ผ ํ ์ธ์ด 2๊ฐ์ง ํฅ๋ฏธ๋ก์ด ์ฃผ์ ์๋ ํ์ ์์ฅ์ ์ํฉ๋ ๋์๋ณผ ์ ์์ด์ ํฌ์คํ ์ ์ ์ด๋ณธ๋ค. ๊ฐ๋ฐ์๋ก์ ๊ผญ ์์์ผ ํ ์ธ์ด 2๊ฐ์ง 1. Managed language - garbage collector๊ฐ ๋๋ ์ธ์ด - ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ง์ ํด์ฃผ๋ ์ธ์ด - Java, python, C#, JS 2. Unmanaged language - ํ๋์จ์ด์ ๊ฐ๊น์ด ์ธ์ด - C, C++, Assembly ๋ ๊ฐ์ ๊ฒฝ์ฐ Framework R&D ํ์ ์ ๋ค์ด์ค๋ฉด์ ์ฃผ ์ธ์ด๊ฐ JAVA์์ JS๊ฐ ๋์๋ค. (JAVA๋ ๊ทธ๋ฆฌ ๋ฅ์ํ์ง ์์๋ค.. ํ๋ถ์์ ํํด) ์๋ฐ์คํฌ๋ฆฝํธ๋ ์น ํผ๋ธ๋ฆฌ์ฑ๋ง์ ์ํ ์ธ์ด๋ผ๋ ์ฝ๊ฐ์ ๊ณ ์ ๊ด๋ ์์์ ๊ทธ์ .. ์ฒซ ํฌ์คํ , 2020 tistory๋ฅผ ์์ํ๋ค! ์ด๋ฒ 2์์ ์ฌ๋ฌ๋ชจ๋ก ์ฌ๊ฒฝ์ ํฐ ๋ณํ๋ค์ด ์์๋ค. ํญ์ ๋ฐ์ด๋๋ ์์ ๊ฐ์๋ ์๊ธฐ๊ฐ๋ฐ์ ์์ ์น๊ธฐ ์์ํ ๊ฒ. ํ์ฌ ํ๋ก ํธ์๋ ๊ฐ๋ฐ ์์ฅ์ ์ดํด๋ณด๋ "Front-End = Design" ์ด๋ผ๋ ๊ณ ์ ๊ด๋ ์ด ๊นจ์ง๋ฉด์ ์ฌํ๊น์ง์ ๋ด ์ปค๋ฆฌ์ด์ ์ด๋ ธ์ ๋๋ถํฐ ๊ทธ๋ ค์๋ ๋ฏธ๋์ ์ผ๊ด์ฑ์ ๋๋ผ๋ฉฐ ํฅ๋ฏธ๋กญ๊ฒ ๋๊ปด์ง๋ค. ๋ด๊ฐ ์ด๋ค ๋ถ๋ถ์ด ๋ถ์กฑํ์ง ์ค๊ฐ ํ๋ฉด์ ์ฑ์ญ์์ญํ ๋ง์์ ๋ค ์ก์ผ๋ฉฐ ๋ด๊ฐ 2์ ํ ๋ฌ๋์ ํ ๊ฒ๋ค๊ณผ ํด์ผํ ๊ฒ๋ค์ ์ ๋ฆฌํด๋ณธ๋ค. ์๊ฐ ์์ ํ๋ฌ ์ฐจ - ์ผ์ฃผ์ผ๋ง์ ์์ธ๊ฐ ๋ง์ด ๊ต์ ๋์๋ค. ์ฌ์ ์์ ์ ์ข์. React.js, node.js ํํ ๋ฆฌ์ผ - ์ํ์ฝ๋ฉ๊ณผ Velopert ๊ฐ์๋ฅผ ํ์ฉํ๊ณ ์๋ค. ๋ด๊ฒ ํ์ํ ๊ฒ? - GitHub Commit / tistory ์ด์ / ๋ฉ๋ชจ ์ํ.. ์ด์ 1 ยทยทยท 3 4 5 6 ๋ค์