๋ฐ์ํ
โค๏ธ๐ฅ Liked
- ์์ฆ React ์์ ์ ์ฌํ๋์ด ๋ฐ๋ณต ํ์ต์ ์งํํ๊ณ ์๋ค. ์ถ๊ฐ๋ก ์ฝ์ด์๋ฐ์คํฌ๋ฆฝํธ์ ์ง์์ด ์ฌ๋จ๋์ด ๋ฒ์ญํ์ React ๊ณต์๋ฌธ์๋ฅผ ์ฝ์ผ๋ฉด์ ๋ณด์ํ์ต์ ์งํํ๊ณ ์์ด์ Component, Props, State์ ๋ํ ๊ฐ๋ ์ ์ด๋ ต์ง ์๊ฒ ์ก์ ์ ์์๋ค. ๋ฆฌ์กํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฌ์ฉ ๋ชฉ์ ์ด ์ฌ์ฌ์ฉ์ฑ์ ์ํด ์ํ์ ๋ฐ๋ผ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉ์ ์ ์ ์์๋ก ํํํ๋ ๊ฒ์ด๋ฏ๋ก ๋์ ์๋ฆฌ์ ๋ํ ๊ฐ๋ ์ ์ก๋ ๊ฒ์ ์ค์ ์ผ๋ก ๊ณต๋ถํ๊ณ ์๋ค.
- ํ๋ก์ ํธ ์กฐํธ์ฑ์ ์ํด ๊ฐ๊ด์๋ฌธํญ์ ๋น๋กฏํ ๊ฐ๋จํ ์ฝ๋ฉ ํ ์คํธ๋ฅผ ์งํํ๋๋ฐ ์๊ฐ ๋ด์ Javascript ๋์์ด ๋๋๋ก ๊ตฌํ์ ํด๋๋ค. ์ฝ๋ ํ์ง์ ๊ฐ์ ํด์ผ๊ฒ ์ง๋ง ์ด์ฌํ ์์๋๋ฅผ ๊ทธ๋ฆฌ๋ ์ฐ์ต์ ํ๋ ๊ฒฐ๊ณผ๊ฐ ๋์์จ ๊ฒ ๊ฐ์์ ๋ฟ๋ฏ!
- React๋ JS ๊ธฐ๋ฐ์ ์ธ์ด์ด๋ค ๋ณด๋ JS ๋ฌธ๋ฒ์ด ๋์ฌ ๋๊ฐ ๋ง์๋ฐ, JS๋ง ๊ณต๋ถํ ๋๋ ์ด๋ ต๋ค๊ณ ๋์ด๊ฐ๋ ๊ตฌ์กฐ๋ถํดํ ๋น๊ณผ ๊ฐ์ ๊ธฐ์ ์ด ์์ ์ต์ํด์ง๋ ๊ธฐ๋ถ์ด๋ผ ์ข๋ค. ๊ตฌ์กฐ๋ถํดํ ๋น์ ๋ํ ๋ณด์ ํ์ต ๋ฌธ์๋ ๋ชจ๋์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ถ์ฒ https://ko.javascript.info/destructuring-assignment
๐ฃ Lacked
- ๋ณ์๋ฆฌ๋ฐ ์คํฐ๋์์ ์นด๋ ๋ค์ง๊ธฐ ๋ฏธ๋๊ฒ์์ ๋ง๋ค์๋ค.
"DOM์ผ๋ก ์นด๋ ์์๋ฅผ ์์ฑํ๊ณ , forEach๋ก ์ํํ๋ฉด์ ํด๋ฆญ์ด๋ฒคํธ๊ฐ ๋๋ฒ ๋ฐ์ํ๊ธฐ๊น์ง innerText๋ฅผ ๋น๊ตํ ํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๊ณ ์ด๊ธฐํํ๋ค." ๊ฐ๋จํ๊ฒ ์๊ฐํ๋๋ฐ ๋ง๋ค๋ค ๋ณด๋ ์ ๋์ง ์์์ ์ ํ๋ธ๋ฅผ ๋ณด๋ฉด์ ์ฝ๋๋ฅผ ๋ณด์ํ๋ค. ๐ฅน
return์ ์คํํด์ผํ๋ ์ฝ๋, ์ด๊ธฐํ๊ฐ ํ์ํ ๋ถ๋ถ, ์์ธ์ฒ๋ฆฌ์ ๋ํ ๋ฌธ์ ๋๋ฌธ์ ํ์ฐธ ํค๋งธ๋๋ฐ ๋๋ถ์ ๋ฐฐ์ด ๊ฒ๋ ๋ง์๋ค...~
๊ณ ์๊ฐํ๊ณ ์ถ์ง๋ง ๋๋ฌด ๋๋ฆฟ๋๋ฆฟ... - React ์ฌ๋ฏธ๋ ์๋๋ฐ ์ค์ต์ด ๋ถ์กฑํด์ ์ ๋ชปํ๋ฉด ๊ฒํฅ๊ธฐ ์์ผ๋ก๋ง ๋ฐฐ์ฐ๊ณ ๋์ด๊ฐ ๊ฒ ๊ฐ๋ค. ์ค์ต์ ๋ ๋ง์ด ํด๋ด์ผ ํ ๊ฒ ๊ฐ๋ค.
โ๏ธ Learned
- ์ปดํฌ๋ํธ๊ฐ ์ฌ๋ฌ ์๋ฆฌ๋จผํธ๋ฅผ ๋์์ return ํด์ผ ํ ๊ฒฝ์ฐ ์๋ฌ๊ฐ ๋ฐ์.
Fragements ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ณ๋์ ๋ ธ๋๋ฅผ ์ถ๊ฐํ์ง ์๊ณ ์ฌ๋ฌ ๊ฐ์ ์์์ ๊ฐ์ธ์ค ์ ์๋ค. <> </> ๋จ์ถ ์์ฑ์ผ๋ก๋ ์ฌ์ฉ ๊ฐ๋ฅ. - ์ปดํฌ๋ํธ์ ์ด๋ฆ์ ์ง์ ๋๋ ์ฒซ ๊ธ์๋ฅผ ๋๋ฌธ์๋ก ์์ฑํด์ผ ์ปดํฌ๋ํธ๋ก ํด์๋๋ค.
- props๋ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค ๋ ๋ฃ์ด์ค ์ ์๋ ์์ฑ์ ์งํฉ. ๋ฌธ์์ด ์ซ์ํ JSX ๊น์ง ๋ค์ํ ๋ฐ์ดํฐ๋ฅผ ๋๊ธธ ์ ์๋ค.
- JSX ์์์๋ ์ด๋ ํ JS ๋ฌธ๋ฒ๋ ์ฌ์ฉ๊ฐ๋ฅํ๋ฏ๋ก ๊ตฌ์กฐ ๋ถํด ํ ๋น์ ํตํ props ์ ๋ฌ๋ ๊ฐ๋ฅ.
- React๋ ์ปดํฌ๋ํธ๊ฐ ์
๋ฐ์ดํธ๋ ๋๋ง๋ค Virtual DOM์ ์ฌ์ฉํ์ฌ ์ปดํฌ๋ํธ ํธ๋ฆฌ๋ฅผ ๋น๊ตํ๋ ์์
์ ํตํด
๋ณ๊ฒฝ๋ ์ํ๋ง ์ ๋ฐ์ดํธํ๊ณ ๋๋จธ์ง๋ ๊ทธ๋๋ก ์ ์งํจ์ผ๋ก์จ DOM ์กฐ์์ ์ต์ํํ๊ณ ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ APP์ ๋ง๋ ๋ค. - React๋ state(์ํ)๋ณ๊ฒฝ์ ๊ฐ์งํ๊ณ reconciliation(์ฌ์กฐ์ )ํ๋ ํ๋ก์ธ์ค๋ฅผ ํตํด ์ปดํฌ๋ํธ๋ฅผ ์ ๋ฐ์ดํธํ์ฌ ์ฆ๊ฐ์ ์ผ๋ก ๋ฐ์ํ๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋๋ ๊ฒ.
- React์ ์ํ ๋ณํ๋ฅผ ์ ๋ฌํ๊ธฐ ์ํด state ๋ณ์์ state ์ํ๋ฅผ ๋ฐ๊ฟ์ค ์ ์๋ ํจ์๋ก ๊ตฌ์ฑ๋ useState๋ผ๋ Hook์ ์ฌ์ฉ
- React์์๋ .map() method๋ ๋ฆฌ์คํธ ๋ด๋ถ์ ๋ชจ๋ ์์๋ฅผ ์ํํ๋ฉฐ ํจ์๋ฅผ ํธ์ถํ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํ๋ค.
- ์ปดํฌ๋ํธ ์์์ ๋ฆฌ์คํธ๋ฅผ ๋ ๋๋ง ํ ๋๋ ๊ผญ key ๊ฐ์ ๋ฃ์ด์ค์ผ ์ํ ๋ณ๊ฒฝ ์ ๋ณ๊ฒฝ๋ ์์๋ง ์๋ก ๋๋๋ง ํ ์ ์๋ค.
key ๊ฐ์ ๋์ผํ ์ปดํฌ๋ํธ ๋ฆฌ์คํธ์์๋ง ์ ์ผํด์ผ ํ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ๋ฐฐ์ด์ id ๊ฐ์ ๋ฃ์ด์ค๋ค. - Styled-Components๋ CSS in JS ๊ด๋ จํ์ฌ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ๋ฆฌ์ํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ.
React์์ ๋ฐ๋ก Css ํ์ผ์ ๋ง๋ค์ด import ํด์ค ํ์๊ฐ ์์ผ๋ฉฐ
scss๋ฌธ๋ฒ์ ํ์ฉํ ์ ์์ผ๋ฉฐ props์ ๋ฐ๋ผ ์กฐ๊ฑด๋ถ ์คํ์ผ์ ์ ์ฉํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค. - ๊ตฌ๊ธ๋ก๋ด ๋ฑ ๊ฒ์์์ง์ด ์ฌ์ดํธ๋ฅผ ํ์ํ ๋ URL์ ํตํด ์์ธ ์์
์ ํ๋๋ฐ
React๋ SinglePageApplication์ด๊ธฐ ๋๋ฌธ์ ์ฌ์ดํธ ๋ ธ์ถ์ด ์ด๋ ค์ด ๋จ์ ์ด ์๋ค.
SPA์ ๋จ์ ์ ๋ณด์ํ๊ธฐ ์ํด Router์ ์ฌ์ฉํ๋ฉด url์ ์ธ์ํด์ ServerSideRendering์ฒ๋ผ ๊ตฌํ๋๊ธฐ ๋๋ฌธ์ Crawling์ด ๊ฐ๋ฅ. - /:id๋ ๋์ ๋ผ์ฐํ ์ ์ํด ์ฌ์ฉ๋๋ URL ํจํด. useParams() Hook๊ณผ ํจ๊ป ์ฌ์ฉ.
- Route๊ฐ ์ค์ฒฉ๋์ด ์์ผ๋ฉด ํ์์์์ ์์ ์์์ url/ ๋ค์ ๋ฌธ์์ด์ ์ ์ํ๋ฉด ๋๋ค.
๐ฉ๐ป๐ป Longed For
- 10km ๋ฌ๋
- ๋ชจ๋ JavaScript ํํ ๋ฆฌ์ผ, ํํธ 2 ๋ฌธ์ ๋จ๋ฝ ์์ง
- ํ๊ณ ์กฐ React ๊ณต์๋ฌธ์ ์คํฐ๋ ์ฐธ์ฌ.
- ํ๋ก๊ทธ๋๋จธ์ค 0๋จ๊ณ ๋ฌธ์ ๋งค์ผ 2๊ฐ์ฉ ํ๊ธฐ.
- ๋ฆฌ์กํธ ๊ณต์๋ฌธ์ ํฑํํ ํ์ด๋ณด๊ธฐ.
- ๋ฏธ๋๊ฒ์ ์ทจํฉํ๊ณ ๋ฆฌ๋๋ฏธ ์์ฑํด์ github ์ ๋ก๋.
- ์๋๋ธ React ๊ฐ์์๋ฃ ๋ณด๊ณ ์ค์ตํด๋ณด๊ธฐ.
๋ฐ์ํ