๋ฆฌ์กํธ๋, ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์ํ JavaScript ์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๊ณ ๋น์ทํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก๋ Vue.js ๊ฐ์ ๊ฒ๋ค์ด ์๋ค.
๋ฆฌ์กํธ์ ๋ํ์ ์ธ ํน์ง์ผ๋ก 3๊ฐ์ง๊ฐ ์๋๋ฐ,
์ ์ธํ์ด๋ผ๋ ๋ป์ ๋ช
์์ , ์ฆ ์ฝ๋์ ์๋ฏธ๋ฅผ ๋ถ๋ช
ํ ์ ์ ์๊ฒ ์์ฑ๋๋ค๋ ๋ป์ด๋ค.
๊ธฐ์กด DOM์์ HTML, CSS, JS๋ก ํ ํ์ด์ง๋ฅด ใน๋ง๋ค๋ ๊ฐ ์ฝ๋๊ฐ ์ ํ ํ์ผ์ ์ค๊ณ ๊ฐ๋ฉฐ ํ์ด์ง์ ๊ตฌ์ฑ์ ํ์
ํด์ผํ์ง๋ง, ๋ฆฌ์กํธ๋ก ๊ฐ๋ฐํ ๋ ํ ํ์ด์ง์ ๊ตฌ์ฑ์ ํ ํ์ผ์์ ์ง๊ด์ ์ผ๋ก ํ์
ํ ์ ์๋ค.
๋ฆฌ์กํธ๋ ํ๋์ ๊ธฐ๋ฅ ๊ตฌํ์ ์ํด ์ฌ๋ฌ ์ข ๋ฅ์ ์ฝ๋๋ฅผ ๋ฌถ์ด ๋์ ์ปดํฌ๋ํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐํ๋ค.
์ปดํฌ๋ํธ๋ฅผ ๋ถ๋ฆฌํด ํ๋์ ๊ธฐ๋ฅ์ ์ง์คํ๊ธฐ์ ํด๋น ๊ธฐ๋ฅ์ด ๊ตฌํ๋ ์ปดํฌ๋ํธ๋ ์ฌ ์ฌ์ฉ์ฑ๋ ์ข์์ง๊ณ ์ปดํฌ๋ํธ์ ์ฉ๋๋ฅผ ๋ณด๋ค ๋ช
ํํ ํ์
ํ ์ ์๋ค.
๊ฒ๋ค๊ฐ ์ฐจํ ์๋ฌ ๋ฐ์์ ์ ์ง๋ณด์ ๋์ด๋๋ ๋ฎ์์ง๊ณ ๊ธฐ๋ฅ์ ํ
์คํธํ ๋ ์ปดํฌ๋ํธ๋ง ๋ฐ๋ก ๋์ ํ
์คํธ ํด๋ณผ ์ ์๊ธฐ์ ํ
์คํธ ๋์ด๋๋ ๋ณด๋ค ๋ฎ๋ค๋ ์ฅ์ ์ด ์๋ค.
๋ฆฌ์กํธ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๊ธฐ์ ๋ค๋ฅธ ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก์ ํธ์๋ ์ ์ฐํ๊ฒ ์ ์ฉ ์ํฌ ์ ์๋ค.
๊ฒ๋ฅ ๊ธ๋ก๋ฒ IT ๊ธฐ์
์ธ Facebook์์ ์ ์ง, ๊ด๋ฆฌํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๊ธฐ์ ์ ์ง๋ณด์๋ ์๋ ๋ฟ๋๋ฌ ํ์ ๊ฒฉ์ ์ธ์ด์ธ ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ก ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ ์ญ์ ๊ฐ๋ฅํ๋ค.
๋ฆฌ์กํธ์์๋ UI๋ฅผ ๊ตฌ์ฑํ๋ ๋ฌธ๋ฒ์ผ๋ก JSX(JavaScript XML)์ ์ฌ์ฉํ๋ฉฐ JSX๋ ์ด๋ฆ์์ ์ ์ถ ํ ์ ์๋ฏ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํ์ฅํ ๋ฌธ๋ฒ์ด๋ค.
์ฐ๋ฆฐ ์ด JSX๋ฅผ ์ด์ฉํด ๋ฆฌ์กํธ์ ๋ฌธ๋ฒ์ ์์ฑํ ์ ์๋ค.
JSX๋ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ํ์ฅ๋ ๊ฒ์ด๊ธด ํ์ง๋ง ๋ธ๋ผ์ฐ์ ๊ฐ ๋ฐ๋ก ์คํํ ์ ์๋ ๋ฌธ๋ฒ์ ์๋๊ธฐ์ 'Babel'๋ก ๋ธ๋ผ์ฐ์ ๊ฐ ์คํํ ์ ์๊ฒ ์ปดํ์ผ ํด์ค์ผ ํ๋ค.
๊ธฐ์กด DOM์์ ์น ํ์ด์ง ๊ฐ๋ฐ์ ํ ๋ HTML, CSS, JS ์ธ๊ฐ์ง ๋ฌธ๋ฒ์ ์ด์ฉํ์ง๋ง ๋ฆฌ์กํธ๋ก๋ JS, CSS ๋๊ฐ์ง ๋ฌธ๋ฒ๋ง ๊ฐ์ง๊ณ ๊ฐ๋ฐ ํ ์ ์๋ค.
์ปดํฌ๋ํธ ๊ตฌํ์ ์ํด ํ์ธํด์ผ ํ ํ์ผ์ด ์ค๊ณ ์ฝ๊ฒ ์ปดํฌ๋ํธ๋ฅผ ํ์ธ ํ ์ ์๊ฒ ๋ ๊ฒ์ด๋ค.
let func = () => {
return (
<div>Division 1</div>
<div>Division 2</div>
)
}
// ์ด๋ฐ ์์ผ๋ก ์ฌ๋ฌ ์์๋ฅผ ๋ฐํํ๊ฒ ์์ฑํ๋ฉด ์ค๋ฅ ๋ฐ์ํ๋ค.
// ๊ทธ๋์ ์ ์ผ ๊ฒ์ <div> ํ๊ทธ ๊ฐ์ ๊ฒ์ผ๋ก ๊ฐ์ธ์ค์ผํ๋ค.
ํด๋์ค ๋ถ์ฌ๋ class=''
๊ฐ ์๋ className=''
JSX์์ ํธ์ถํ ๋ ์ค๊ดํธ๋ฅผ ์ด์ฉํ๋ค.
์ฌ์ฉํ์ง ์์ผ๋ฉด ์ผ๋ฐ ํ
์คํธ๋ก ์ธ์ํ๋ค.
๋ฆฌ์กํธ ์ปดํฌ๋ํธ์ ์ด๋ฆ์ ์ฒซ ๊ธ์๋ฅผ ๋๋ฌธ์๋ก ์ฌ์ฉํ๋ฉฐ ์ด๋ ํ์ผ๋ช ์๋ ํด๋น๋๋ค.
์กฐ๊ฑด๋ฌธ์ if๋ฌธ์ด ์๋ ์ผํญ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ค.
if๋ฌธ์ ํํ์์ด ์๋๊ธฐ ๋๋ฌธ์ด๋ค.
๋ฆฌ์กํธ์์ ์ฌ๋ฌ HTML ์์๋ฅผ ํ์ํ ๋ map()
ํจ์๋ฅผ ์ฌ์ฉํ๋ค.
๋ค๋ง ๋ฐ๋๋ผ์์ ์ฌ์ฉํ ๋์ ๋ค๋ฅด๊ฒ ๋ฐ๋์ key ์์ฑ์ด ํ์ํ๋ค.
ํค๋ map
๋ฉ์๋์ ๋ด๋ถ์ ์๋ ์ฒซ ์์์ ์์ฑ์ผ๋ก ๋ฃ์ด์ค๋ค.
const func = () => () ;
์ด๋ฐ ์์ผ๋ก ์ฌ์ฉํ ๋ => ๋ค์ ์ฌ ํจ์์ ๋ด์ฉ์ ์ค๊ดํธ๋ก ๋ฌถ์ผ๋ฉด return์ ๋ช
์ํด์ค์ผ ํ๊ณ ์๊ดํธ๋ก ๋ฌถ๊ฑฐ๋ ๊ดํธ๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉด => ์ดํ์ ๋ด์ฉ์ด ๋ฐํ๋๋ค.
์ค๋ ๋ฆฌ์กํธ๋ฅผ ํฅ์๋ดค๋ค.
๊ทธ๋๋ ๊ณ ์ฐจํจ์๊น์ง๋ ์ข ์นํด์ง ๊ป๋์ง๊ฐ ๋ณด์๋๋ฐ ์ด๋์ ๋ฆฌ์กํธ๋ ์ฒ ๋ฒฝ์ ์ณ์ ์ฌํ๋ค.
์ค๋ ์คํ๋ฆฐํธ ์ ์ถ ์ต์ ์ ์ ๊ฐ๋ณ๊ฒ ๋๊ฒผ๋๋ฐ ์ด๋๋ฐด์ค๋ ํผ๋ค๊ณ ์ง์ง ์๋์๊ฐ๋ ๋จธ๋ฆฌ ๋๋ฌด ์ฉ์ฉ ๋๋ ธ๋ค.
๊ทผ๋ฐ ์ด๊ฒ ๋ด๊ฐ ๋๋ฆฐ๋ค๊ณ ๋์๊ฐ์ผ ๋ง์ด์ง..