[React] JS ์ฝ๋ฉ๋ถํฐ ์์
create-react-app์ด ์ ๊ณตํ๋ ์ํ ์ฑ์ ์ฐ๋ฆฌ๊ฐ ์์ ํ๋ ๊ฒ์ผ๋ก ์์ํด๋ณด์
์ด๋ค ๋๋ ํฐ๋ฆฌ ๊ตฌ์กฐ์ธ์ง, ์ด๋๋ฅผ ์์ ํ๋ฉด ์ฝ๋ฉ์ ํ ์ ์๋์ง ์์๋ณด์๋ค.
public์ด๋ผ๋ ๋๋ ํฐ๋ฆฌ๋ index.html ์ด ์๋ ๊ณณ์ด๋ค.
react๋ก ๋ง๋ค์ด์ง ์ ํ๋ฆฌ์ผ์ด์ ์ด ์น๋ธ๋ผ์ฐ์ ์์๋ index.html์ ์คํํ ๊ฒฐ๊ณผ์ด๋ค.
index.html์์ ์ฐ๋ฆฌ๊ฐ ์ ๊ฒฝ ์ธ ๋ถ๋ถ์ div ํ๊ทธ์์ id="root" ์ธ ๋ถ๋ถ์ด๋ค.
๋ฆฌ์กํธ๋ฅผ ํตํด์ ์ปดํฌ๋ํธ๋ค์ ๋ง๋ค๊ณ ๊ทธ ์ปดํฌ๋ํธ๋ค์ ์ด root ์์ผ๋ก ๋ค์ด๊ฐ๋๋ก create-react-app์ ์ฝ์์ ํด๋์๋ค.
create-react-app์ด ๊ธฐ๋ณธ์ค์ ํ ์น ๋ธ๋ผ์ฐ์ ์ html์ ๋ณด๋ฉด id๊ฐ root ์ธ ํ๊ทธ ์์ชฝ์ react๋ฅผ ํตํด์ ๋ง๋ ํ๊ทธ๋ค์ด ๋ค์ด๊ฐ ๊ฒ์ ๋ณผ ์ ์๋ค.
๊ทธ๋ผ, id๊ฐ root์ธ ํ๊ทธ ์์ ๋ค์ด๊ฐ๋ ์ปดํฌ๋ํธ๋ค์ ์ด๋ค ํ์ผ์ ์์ ํด์ ๋ง๋ค ์ ์์๊น?
src(source)๋ผ๊ณ ๋์ด์๋ ๋๋ ํฐ๋ฆฌ ํ์ผ๋ค์ ์์ ํ์ฌ ๋ง๋ ๋ค.
๊ทธ ์ค ์ง์ ํ์ผ์ index.js์ด๋ค.
๋์ฌ๊ฒจ๋ด์ผํ๋ ๋ถ๋ถ์ document.getElementById('id') ์ด๋ค.
id๊ฐ์ด root์ธ ํ๊ทธ๋ฅผ ์ ํํ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ ํ์ ๋ฌธ๋ฒ์ด๋ค.
<APP /> ์ด๋ผ๊ณ ์ ํ์๋ ๋ถ๋ถ์ ๋ฆฌ์กํธ๋ฅผ ํตํด ๋ง๋ ์ฌ์ฉ์ ์ ์ ํ๊ทธ ์ฆ ์ปดํฌ๋ํธ์ด๋ค. ์ง๊ธ์ create-react-app ์ด ์ํ๋ก ๋ง๋ ์ปดํฌ๋ํธ์ด๋ค.
์ด ์ค์ ์ปดํฌ๋ํธ์ ๊ตฌํ์ App.js์ ๋์ด์๊ณ import๋ฅผ ํตํด์ App(.js) ํ์ผ์ ๊ฐ์ ธ์จ๋ค.
App.js๋ index.js ํ์ผ๊ณผ ๊ฐ์ ๊น์ด์ ์๋ค.
App.js ํ์ผ์ ์ด๋ ๊ฒ ์๊ฒผ๋ค.
์ด ๋ App.js ํ์ผ ์๊น์๊ฐ ํจ์ ํ์, ํด๋์ค ํ์์ด ์๋๋ฐ ์ํ์ฝ๋ฉ ์์ ์์๋ ํด๋์ค ๋ฐฉ์์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ํด๋์ค ๋ฐฉ์์ผ๋ก ๋ฐ๊ฟ์ฃผ์๋ค.
๋ฆฌ์กํธ๋ ๋ฐ๋์ ํ๋์ ํ๊ทธ ์ ์ชฝ์ ๋๋จธ์ง ํ๊ทธ๋ค์ด ์์ด์ผํ๋ค.
๊ฐ์ฅ ๋ฐ๊นฅ์ชฝ์๋ ํ๊ทธ ํ๋๋ง ์์ด์ผํ๋ค.
๊ฐ์ฅ ๋ฐ๊นฅ์ชฝ์ ํ๊ทธ๊ฐ ์๊ฑฐ๋ ๋ ๊ฐ ์ด์์ด๋ผ๋ฉด ์ค๋ฅธ์ชฝ๊ณผ ๊ฐ์ด ์ค๋ฅ๊ฐ ์ผ์ด๋ ๊ฒ์ด๋ค.