๐ TIL 001 : React
โ๏ธ React TIL ๊ธฐ๋ก์ ์์ํ๋ฉฐ...
๋๋ ๋ฆฌ์กํธ๋ฅผ ํ๋ก ํธ์๋ ๊ตญ๋น๊ณผ์ ์ ํตํด ๊ณต๋ถํ์ง๋ง ์ปค๋ฆฌํ๋ผ์ด ๋๋๊ธฐ ์ง์ ์ ์ ๋ง ์งง๊ฒ ๋ฐฐ์ฐ๊ณ ๋์ด๊ฐ๋์ง๋ผ ์ฌ๋์๋ ํ์ต์ ๋ถ๊ฐ๋ฅํ๋๋ฌ๋ค... ๊ฐ์๊ฐ ๋๋๊ณ ๋ฆฌ์กํธ ๊ณต๋ถ๋ ๋ฏธ๋ค๋๊ณ ์ผ๋ ๋ฒ๋ ์ ์ ํผ๋ธ๋ฆฌ์ ๋ก ์ทจ๋ฝํด์ ๋จน๊ณ ์ฌ๋ ์ง๊ธ, ํ์ฌ๋ฅผ ๋ค๋๋ฉด ๋ค๋์๋ก ๋ฆฌ์กํธ ๊ธฐ์ ์์ ๋ํ ์์๋ ๋๊ณ ์๊ณ ๊ธฐ์กด์ ์ฌ์ดํธ๋ฅผ ๋ฆฌ์กํธํ ์ํค๋ ๊ณณ์ด ๋ง๋ค๋ ๊ฑธ ๋๋ผ๊ณ ์๋ค.
๊ทธ๋ฆฌ๊ณ ...
๋ชธ ๋ด๊ณ ์๋ ๊ณณ์์๋, ๊ฐ๋ฐ๋จ์์ ๋ฆฌ์กํธ๋ฅผ ์ฌ์ฉํ๊ธฐ ์์ํ๊ณ , ํผ๋ธ๋ฆฌ์ฑ๋จ์์๋ ์ํํ ๊ฐ๋ฐ์ ์ํด ๋ฆฌ์กํธํ๋ฅผ ํด๋๊ฐ์ผํ๋ ์์ ์ด ์ค๊ณ ์ผ ๋ง์๋ค.
์ด์ ์ ๋ง ๋์ด์ ๋ฏธ๋ฃฐ ์ ์์ด! ๋ฆฌ์กํธ๋ก ํผ๋ธ๋ฆฌ์ฑ์ ํด์ผ๋ง ํ๋ค!
๊ทธ๋์ ์์ํ๋ค. ์ค๋๋ถํฐ ์ด์ฌํ TIL ๊ธฐ๋กํ๊ธฐ
๐ฉ๐ปโ๐ป ๋ฆฌ์กํธ ์์ํ๊ธฐ
์์์ ์์... npm์ผ๋ก ๋ฆฌ์กํธ ํ๋ก์ ํธ๋ฅผ ์ค์นํ๋ ๋ฐฉ๋ฒ๋ ์์ง๋ง, ๊ฐ์ ๋ด์ฉ์ ํ ๋๋ก unpkg ๋งํฌ๋ฅผ HTML์ ํธ์ถํ์ฌ ์ฝ๋ฉํ๋ ๋ฐฉ์์ผ๋ก ์งํํ์๋ค.
<script crossorigin src="https://unpkg.com/react@17/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script>
<body></body> ๋ด์์ ๋ค์๊ณผ ๊ฐ์ด ํธ์ถ
DOM์ ๋ด์ฉ์ ๊ทธ๋ ค์ฃผ๊ธฐ ์ํ ๋น div ํ๊ทธ๋ฅผ ๋ง๋ค์ด์ค๋ค.
<div id="root"></div>
๐ Javascript ๋ฌธ๋ฒ
๋ฆฌ์กํธ ์ฉ๋ฒ์ ์ฌ์ฉํ๊ธฐ ์ ์ ๋จผ์ ์ผ๋ฐ์ ์ธ Vanilla Js ๋ฐฉ์์ผ๋ก div ํ๊ทธ์ Hello, World! ๋ผ๋ ๋ฌธ๊ตฌ๋ฅผ ์ง๋ h1 ํ๊ทธ๋ฅผ ๋ฃ์ด๋ณด๋๋ก ํ์.
const rootElement = document.querySelector("#root");
const element = document.createElement("h1");
element.textContent = "Hello, World!";
rootElement.appendChild(element);
์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๊ฒ ์ง๋ง, ๊ฐ์ ๋ด์ฉ์ ํ ๋๋ก ์์ฑํด๋ณด์๋ค.
์์ ์คํฌ๋ฆฝํธ๋ฅผ ํ์ด์ ํด์ํด๋ณด์๋ฉด,
#root ๋ผ๋ id๋ฅผ ๊ฐ์ง div ํ๊ทธ๋ฅผ rootElement ๋ผ๋ ๋ณ์๋ช ์ผ๋ก ์ ์ธํด์ฃผ๊ณ , element๋ผ๋ ๋ณ์๋ช ์ผ๋ก h1 ํ๊ทธ๋ฅผ ์์ฑํด์ค๋ค.
h1ํ๊ทธ์ธ element์ ํ ์คํธ Hello, World! ๋ฅผ ๋ฃ์ด์ฃผ๊ณ , ๊ทธ h1(element์) ํ๊ทธ๋ฅผ div#root(rootElement)์ ๋ฃ์ด์ค๋ค.
์ด๋ฐ ๋ด์ฉ์ด ๋๋ค.
์ด์ DOM ๊ตฌ์กฐ๋ฅผ ์ดํด๋ณด๋ฉด ์๋์ฒ๋ผ ๋ณํ ๊ฑธ ํ์ธํ ์ ์๋ค.
<div id="root">
<h1>Hello, World!</h1>
</div>
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ TIL 001 : React), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@seonhu93/TIL-Fast-Campus-React-01์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค