๐ react๋ ํ์ด์ค๋ถ์์ ๋ง๋ javascript์ UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค. ๋ฆฌ์ํธ๋ ์ปดํฌ๋ํธ์ ๊ฐ๋ ์ฑ, ์ฌ์ฌ์ฉ์ฑ์ ๋์ฌ์ฃผ๊ณ ์ฐ์ง๋ณด์๋ฅผ ์ฝ๊ฒ ๋ง๋ค์ด์ค๋ค.
โ
์ฌ๊ธฐ์ ์ ๊น!! ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ??
โ๏ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ ์ด์ฟผ๋ฆฌ์ ๊ฐ์ด ์ฌ์ฌ์ฉ์ด ํ์ํ ๋ฐ๋ณต์ ์ธ ์ฝ๋ ์์ฑ์ ์์ ๊ธฐ ์ํด์, ํ์ํ ๊ณณ์์ ํธ์ถํ์ฌ ์ฌ์ฉํ ์ ์๋๋ก class๋ function(ํจ์)๋ก ๋ง๋ค์ด์ง ๊ฒ์ด๋ค.
๐ react ์ฌ์ฉ
๐ค JSX๋ฌธ๋ฒ ์ฌ์ฉ
๐ javascript์ ํ์ฅ๋ฒ์ , js ํ์ผ ๋ด์์ฃ ์์ฑ์ด ๊ฐ๋ฅํ๋ค. JSX๋ ๊ธฐ์กด js์์ ๋ถ๋ฒ๊ณผ๋ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ index.js์ ๊ฐ์ด .js ํ์ผ ๋ด์์ JSX๋ฌธ๋ฒ์ ์ฌ์ฉํ ๊ฒฝ์ฐ์ ๋ธ๋ฌ์ฐ์ ์์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค. โ๏ธ react.js๋ฅผ ์ฌ์ฉํ๊ฒ ์ํด์ JSX๋ฌธ๋ฒ์ ํฌํจํ๊ฒ ๋๋ฉด ํด๋น ํ์ผ์ js๋ฌธ๋ฒ์ผ๋ก ๋ณํ์์ผ์ฃผ๋ ์ปดํ์ผ ๊ณผ์ ์ด ํ์ํ๋ค.
{ ... javascript... }
class
vs. className
<div style={{color : "red"}}>Hello React</div>
<div></div>
vs. <div />
<> ... </>
) : JSX์ ํฐ ํน์ง ์ค ํ๋๋ ๋ด๋ถ ์์๋ค์ ๊ฐ์ธ๋ ์ต์์ ์์๊ฐ ์์ด์ผ ํ๋ค๊ณ ๋ฐฐ์ ์ต๋๋ค. Fragments๋ DOM์ ๋ณ๋์ ๋
ธ๋๋ฅผ ์ถ๊ฐํ์ง ์๊ณ ํ๋์ ์ปดํฌ๋ํธ ์์ ์ฌ๋ฌ ์์(์์)๋ค์ ๊ฐ๋จํ๊ฒ ๊ทธ๋ฃนํ ํ ์ ์๋ ๊ธฐ๋ฅ์
๋๋ค. ์์๋ค์ ๊ฐ์ธ๋ div
ํ๊ทธ์ ๋ถํ์ํ ์์ฑ์ ๋ง์ ์ ์์ด ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ฉ๋๋ค.๐ ์ฌํ์ฉ ๊ฐ๋ฅํ ui๊ตฌ์ฑ ๋จ์์ด๋ค. ์์คํ๊ทธ๋จ mainํ์ด์ง๋ฅผ ์๋ก ๋ค ๊ฒฝ์ฐ์๋ Nav, Main์ด ์๊ณ Main์์๋ Feed, MainRight์ปดํฌ๋ํธ๋ก ๋๋ ์ ์๋ค. ๐