ES๋ ECMAScript์ ์ฝ์๋ก ECMA International์์ ์ ์ํ ์ํ ๋ฑ๋ก๋ ์คํฌ๋ฆฝํ ์ธ์ด ์ฌ์์ด๋ค. JavaScript๋ฅผ ํ์คํํ๊ธฐ ์ํด ๋ง๋ค์ด์ก๋ค. ES5๋ 2009๋ ์ ์ถ์ํ์์ผ๋ฉฐ ES6๋ 2015๋ ๋์ ์ถ์ํ์๋ค.ES5์ ES6์ ์ฐจ์ด์ ์var
์๋ฐ์คํฌ๋ฆฝํธ์์๋ ๋ชจ๋ ๋ฐฉ์์ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ ๊ธฐ๋ฅ์ด ์์ด์ ์ฌ๋ฌ ๊ฐ์ ํ์ผ๋ก ์ฝ๋๋ฅผ ๋ถํ ํ ์ ์๋ค. ๊ทธ๋์ ์ฝ๋๋ฅผ ์ฌ๋ฌ ํ์ผ๋ก ๋๋๊ณ ๋๋ html ํ์ผ์ ๋ค๋ฅธ ํ์ผ์ ์ ์ฉ์ํฌ ์ ์๋ค. ๋ฌธ์ฅ์ import, export๋ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ ์์ ์๋ ๊ฒ์ผ๋ก
UI ๊ตฌ์ฑ ์์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๋ฅผ ๊ตฌ์ถํ๊ธฐ ์ํ ๋ฌด๋ฃ ์คํ ์์ค ํ๋ฐํธ ์๋ JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ผ๊ณ ํ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋๋๋ฐ ์ฌ์ฉํ๋ค. ๊ฐ์ฅ ์ธ๊ธฐ์๋ ํ๋ก ํธ์๋ ํ๋ ์์ํฌ ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ๋ฆฌ์กํธ๋ ์ปดํฌ
JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ฉฐ, ๋ฐฐ์ด, ์ซ์, ๊ฐ์ฒด, ๋ฌธ์์ด ๋ฑ์ผ๋ก ์์ ํ๋ ๋ฒ๊ฑฐ๋ก์์ ์์ ๋ณตํฉ์ ์ธ ํจ์ ์์ฑ์ ๋์ฑ ์ฝ๊ฒ ๋ง๋ค ์ ์์ด js์ ์ฝ๋๋ฅผ ์ค์ผ ์ ์๊ณ , ๋น ๋ฅธ ์์ ์ด ๊ฐ๋ฅํ๋ค.https://www.npmjs.com/package/lodash
์ฌ๋ฌ ๋ชฉ๋ก๋ค์ ํ์ด์ง๋ณ๋ก ๋๋์ด ์ ํด์ง ๊ฐ๋งํผ ๋ณด์ด๊ฒํ๊ณ ๋๋จธ์ง ๋ชฉ๋ก๋ค์ ๋ค๋ฅธ ํ์ด์ง์์ ๋ณด์ด๊ฒ๋ ์ฒ๋ฆฌํ ๋ฐฉ์์ด๋ผ ํ ์ ์๋ค. ๊ฒ์ํ์์ ๋ค์ํ์ด์ง๋ก ๋์ด๊ฐ๊ธฐ ์ํ ์ซ์๋ค์ด ๋์ด ๋์ด์๋ ๋ถ๋ถ์ page nation์ด๋ผ ํ๋ค.์๋๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ \[]๋ฐฐ์ด ์์ 1
๋ชจ๋ ์ปดํฌ๋ํธ๋ ์ฌ๋ฌ ์ข ๋ฅ์ '์๋ช ์ฃผ๊ธฐ ๋ฉ์๋'๋ฅผ ๊ฐ์ง๋ฉฐ, ์ด ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉํ์ฌ ํน์ ์์ ์ ์ฝ๋๊ฐ ์คํ๋๋๋ก ์ค์ ํ ์ ์๋ค.๋ชจ๋ ๋ฆฌ์กํธ ์ปดํฌ๋ํธ์๋ ๋ผ์ดํ์ฌ์ดํด์ด ์กด์ฌํ๋ค.\- ํด๋์คํ ์ปดํฌ๋ํธ(Class Component) -๊ทธ๋ฆฌ๊ธฐ : render๊ทธ๋ ค์ง๊ณ ๋
ํจ์ํ ์ปดํฌ๋ํธ๋ ์๋์ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํ๋ค๋ฉดํด๋์คํ ์ปดํฌ๋ํธ๋ ์๋์ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํ๋คํด๋์คํ ์ปดํฌ๋ํธ๋ Component๋ฅผ importํ์ฌ ์์ ์๋ ๊ธฐ๋ฅ๋ค์ ๋ชจ๋ ์์(extends)์์ผ์ค์ผ ํ๋ค.โ ์๋์ ๋ฐฉ๋ฒ์ผ๋ก this๋ฅผ ์ฌ์ฉํด์ผํ๋ค
๊ฐ์ฒด ๋๋ ๋ฐฐ์ด์ ๋ณต์ฌ์ ๊ฒฝ์ฐ์์ ์์๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ, ๊ฐ์ ๊ทธ๋๋ก ๊ฐ์ ธ์ค๊ธด ํ๋ ๊ฐ์ ๊ฐ์ ๊ณต์ ํ๊ณ ์์ด๊ฐ์ ๋ฐ๊พธ๋ฉด ๊ฐ์ ์๋ฆฌ์ ๊ฐ์ด child2์ child1๊ฐ ๋๊ฐ์ด ๋ณ๊ฒฝ๋๋ค.๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ์ ์ง์ ์ง์ ํด์ค์ผ ํ๋ค์์ ๋ฐฉ๋ฒ์ ์คํ๋ ๋ ์ฐ์ฐ์
value๊ณ ์ ๊ฐ์ผ๋ก ๋์ด ์์ด ์์ ์ด ๋ถ๊ฐ๋ฅํ๋คdefaultValue์ด๊ธฐ๊ฐ์ด ์์ง๋ง ์์ ์ด ๊ฐ๋ฅํ๋คdefaultValue์ value๋ฅผ ๊ฐ์ด ์ฌ์ฉํ ๊ฒฝ์ฐ||์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค. ( ์ ์ฉํ๊ณ ์ถ์ ๊ฐ || ์ ์ฉํ๊ณ ์ถ์ ๊ฐ )target :currentTarget :
์ฐํธ๋ฒํธ ์ปดํฌ๋ํธ ์ฌ์ฉ์ Daum Postcode๋ฅผ ์ฌ์ฉํ๋ค. (kakako ์ง๋) UI์ ์ฌ์ฉ๋ฒ์ด ์ฝ๊ฒ ๋์ด ์๋ค.https://www.npmjs.com/package/react-daum-postcode -> ์ฐธ์กฐ๊ฐ์ด๋๋ ์๋์ ์ฃผ์๋ฅผ ์ฐธ์กฐ!!https&
https://ant.design/components/overview/์ด ์ฌ์ดํธ๋ ๋ฆฌ์กํธ UI ํ๋ ์์ํฌ์ด๋ค. ๋ฒํผ, ์์ด์ฝ, ๋ชจ๋ฌ, ๋ฉ๋ด ๋ฑ ์ฌ๋ฌ UI์ ๋ํ ์ปดํฌ๋ํธ๊ฐ ์๋ค.(๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๋๋ ๊ฒ์ฆ๋ ๊ฒ์ ์ฌ์ฉํ๋๊ฒ์ด ์ข๋ค๐)Ant-Design ์ค
์ด๋ฒคํธ ๋ฒ๋ธ๋ง์ ํ ์์์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋ ํด๋น ์ด๋ฒคํธ๊ฐ ์์์ ์์๋ค์๊ฒ ์ ๋ฌ๋์ด ๊ฐ๋ ํน์ฑ์ ์๋ฏธ (์์ํ๊ทธ์์ ๋ถ๋ชจํ๊ทธ๋ก ์ด๋ฒคํธ ์ ํ)event.currentTarget์ฝ๊ธฐ ์ ์ฉ ์์ฑ์ด๋ฉฐ, ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ์์๋ถํฐ ๋ถ๋ชจ๋ค์ ์์๊น์ง๋ฅผ ๋ฐํํ๋ค.event.T
object : ํ์ ์ ์ง์ ํด์ฃผ๋ ๊ณณ์ ๊ฐ์ฒด ํ์ ์ ๋ปํ๋ {}๋ฅผ ์จ์ฃผ๊ณ , ๊ทธ ์์ ๊ฐ๊ฐ์ Property ํ์ ์ ์ง์ array : ๋ฐฐ์ด ์์ ์์๋ค์ ํ์ ๊ณผ ๋ฐฐ์ด์ด๋ผ๋ ํ์ ์ ํฉ์ณ ์ ์์ผ๋ก ์ง์ string ์ธ ์ฌ๋ฌ ์ข ๋ฅ์ ํ์ ์ ํ์๋ก ํ๋ ๋ฐฐ์ด์ ๊ฒฝ์ฐ์
JSX๋ JavaScript๋ฅผ ํ์ฅํ ๋ฌธ๋ฒ์ด๋ค. HTML์์ ์ฌ์ฉํ๋ ํ๊ทธ๋ค๊ณผ ๋น์ทํ ๋ฌธ๋ฒ์ ์ฌ์ฉํ๋ค. ์ปดํฌ๋ํธ์ ๊ตฌ์ฑ ์์. react์ฑ์ ์ต์ ๋จ์์ด๋ค.type(๋ฌธ์์ด ํน์ ์ปดํฌ๋ํธ ํจ์/ํด๋์ค) ํ๋์ props(๊ฐ์ฒด) ํ๋๋ก ํํ๋๋ค.์๋ฆฌ๋จผํธ์ type์ด ์ปดํฌ๋
์๋ฐ์คํฌ๋ฆฝํธ(JavaScript)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ํ์ ๋ฌธ๋ฒ์ด๋ฉฐ, ์๋ฐ์คํฌ๋ฆฝํธ์ ์ํผ์ ์ฆ ์๋ฐ์คํฌ๋ฆฝํธ์ ํ์ ์ ์ถ๊ฐํ ์์ ์ธ์ด์ด๋ค.ํ์ ์์ ์ค๋ ์๋ฌ๋ฅผ ์ก์์ฃผ๋ ์ธ์ด์ด๋ฉฐ ์ ์ธ์ ํ์ ์ด string์ธ์ง number์ธ์ง ์ถ๋ก ํ์ฌ ์ ์ธํ๋ค.ํ์ ์คํฌ๋ฆฝํธ ํ์ผ ์์ฑ์ .ts๋ก
ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ ์์ ์ผ๋ก ์ํํจํด๋ผ์ด์ธํธ๊ฐ ์ด๋ ํ ๋ฆฌ์์ค ์์ฑ์ ์์ฒญ, ํด๋น ๋ฆฌ์์ค๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์์ฑ๋จ(POST๋ฅผ ํตํ ๋ฆฌ์์ค ์์ฑ ์์ ์)ํด๋ผ์ด์ธํธ์ ์์ฒญ์ด ๋ถ์ ์ ํ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ ์๋ต์ฝ๋ (์์ฑ์ค ์คํ ๋ฑ ์ค๋ฅ๋ฐ์ํ์์ ๋)ํด๋ผ์ด์ธํธ๊ฐ ์ธ์ฆ๋์ง ์์ ์ํ์์
React์์๋ ์ํ๋ ๋์์ ์ํํ๋ ๊ฐ๊ฐ์ ์ปดํฌ๋ํธ๋ฅผ ์์ฑ ํ ๋ ๋๋ง์ด ๊ฐ๋ฅํ๋ค.try : ์์ธ๊ฐ์ง try๋ ์์ธ ๋ฐ์์ ๊ฐ์ง ๋์์ ๊ฐ์ธ๋ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ์์ธ๋ฐ์ ๊ฐ๋ฅ ์ง์ญ์ธ์ง ํ์ ํ ์ ์์catch : ์์ธ์ฒ๋ฆฌ catch๋ ๋ฐ์ํ ์์ธ์ํฉ์ ์ฒ๋ฆฌ๋ฅผ ์ํ ๋ชฉ์ ์ผ๋ก
๋ฐฐ์ด ๋ด์ ๋ชจ๋ ์์ ๊ฐ๊ฐ์ ๋ํด ์ฃผ์ด์ง ํจ์๋ฅผ ํธ์ถํ ๊ฒฐ๊ณผ๋ก ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํ์กฐ๊ฑด์ด ์ฐธ์ธ ๊ฒฝ์ฐ์ ์กฐ๊ฑด๋ค๋ง ๋ฐฐ์ด๋ก ๋ฐํ์ํด.fillter์ map์ ๊ฐ์ด ์ฌ์ฉ
?.๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ด ์๋์ง ํ๋จ ํ ์์ผ๋ฉด undefined๋ก ๋ฐํdata && data.fetchProfile => data?.fetchProfile ๋ก ์ ์ฉ๊ฐ๋ฅdata || data.fetchProfile (๊ฑฐ์ง์ผ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๊ฐ ์์ผ๋ฉด ๋ ๋๋ง)๊ฑฐ์ง ํ๊ธฐ : 0,
์ฌ์ ์ ์ : ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ธฐ ์ํด ์ต์ ์ ๊ฒฝ๋ก๋ฅผ ์ ํํ๋ ๊ณผ์ .๊ฒฝ๋ก๋ฅผ ์๋์ผ๋ก ์ผ์ผ์ด ์ ๋ ฅํ์ฌ์ผ ํจํ์ด์ง ์ด๋router.push() ๋ฅผ ์ด์ฉํ์ฌ ์ด๋ํ ์ ์๊ฒ๋ ํ๋ค์ ์ ๋ผ์ฐํ ์ ๊ฐ๊ฐ์ ํด๋๋ฅผ ์์ฑํ์ฌ push๋ก ๊ฐ๊ฐ ์ ์ฉํ์์ง๋ง100๊ฐ์ ๊ฒ์๊ธ์ ๋์ ๋ผ์ฐํ ์ ํต