1. Node, npm, npx, git ์ค์น
1.node.js ์ค์น(ํํ์ด์ง์์. ์ค์นํ์ธ : node -v / npm ์ค์นํ์ธ : npm -v)
2. ์ฝ์์์ npm install npx -g (์ค์นํ์ธ: npx -v)
3. VSC ์ค์น(๋ค๋ฅธ ์ฝ๋ ์๋ํฐ ์จ๋ ๋จ)
4. git ์ค์น(์ค์น ํ์ธ:์ฝ์์์ git --version)
๋ฆฌ์กํธ ์ปดํ์ผ create-react-app
๋ฆฌ์กํธ์ ์ฝ๋๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ดํดํ ์ ์๊ธฐ ๋๋ฌธ์, ์ด๊ฒ์ ์ ์ ํ๊ธฐ ์ํด Web pack๊ณผ Babel์ ๋ค์ด๋ก๋ ํด์ผํ๊ณ , ์ปดํ์ผ์ ํ๋ ๊ทธ๋ฐ ๋ณต์กํ๊ณ ๊ท์ฐฎ์ ์์ ์ด ํ์ํ๋ค. ๊ทธ๋ฐ๋ฐ, ์ด์ ๋ create-react-app์ด๋ผ๋ ๊ฑธ ํตํด์, ํ๋์ ๋ช ๋ น์ผ๋ก React Web app์ Set upํ๊ฒ ๋์๋ค.
1. node js npm, npx ์ค์น๊ฐ ๋์ด์์ด์ผ ํ๋ค.
2. Documents > npx create-react-app ๋ง๋ค๊ณ ์ ํ๋ ํด๋์ด๋ฆ
3. Vs code์์ ํด๋น ํด๋๋ฅผ ์คํ
1) readme๋ฅผ ๋ด ์ทจํฅ๊ป ์์
2) package.json ->scripts์์ start, build๋ง ๋จ๊ธด๋ค.
3) npm์ด๋ yarn ์ด๋ ๋์ผ => npm start๋ก ์คํํจ
index.html, index.js, App.js
์ด ์ธ๊ฐ์ง๊ฐ ํต์ฌ ๊ตฌ์ฑ ์ถ์ด๋ค.
1. index.html
- <div> id๋ฅผ ์ง์ ํด์ฃผ๊ณ , index.js์์ ํด๋น div ๋ด๋ถ์ ๋ด์ฉ์ ํ์ํ๋ค.
2. index.js
3. App.js
- index.js์ ReactDom.render์์ <App />๋ ๋ฐ๋ก App.js๋ฅผ ์๋ฏธํ๋ ๊ฒ.
- App.js => ์ปดํฌ๋ํธ
- Component = html์ ๋ฐํํ๋ ํจ์
- htmlํํ๋ก ์์ฑํ๋ js = jsx, ๋ฆฌ์กํธ์์ ์ ์ผํ ํํ๋ฐฉ์
- ๋ฆฌ์กํธ๋ index.js์์ ํ๋์ ์ปดํฌ๋ํธ๋ง renderํด์ค ์ ์๊ธฐ ๋๋ฌธ์, ์๋ก์ด Component๋ index.js๊ฐ ์๋, Component์์ ์จ์ฃผ๊ธฐ
- Component๋ ๋๋ฌธ์๋ก ์ฐ๊ธฐ
- Props ๊ฐ๋ = Component ์์ ๋ฃ์ ์ ์๋ ์์
- map : function์ ์ทจํด์, ํด๋น ํจ์๋ฅผ array์ ๊ฐ item์ ์ ์ฉํ๋ค.
React์ Element๋ ๋ชจ๋ ๊ณ ์ ํด์ผ ํ๋ค.
- list์ id๋ฅผ ์ถ๊ฐํด์ค๋ค.
- ์นํ์ด์ง์ console์ฐฝ์ ์ค๋ฅ๊ฐ ์ฌ๋ผ์ง ๊ฒ
PropTypes
npm i prop-types
PropTypes๋ฅผ ์ด์ฉํด, console์์ prop ์ ๋ฌ์ ์ด์์ด ์๋์ง ํ์ธ๊ฐ๋ฅ
๋์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ State
- state๋ฅผ ์ฐ๊ธฐ ์ํด์๋, class component ํํ๋ฅผ ์ฌ์ฉํด์ค์ผํ๋ค. (์์์ ํ๋ ๊ฒ์ function component. class component์ function component์๋ ์ฐจ์ด๊ฐ ์๋ค.)
- function component๋ ๋ฌด์ธ๊ฐ๋ฅผ returnํด์ screen์ ํ์ํ๋ค.
- class component๋ React.component๋ก๋ถํฐ ํ์ฅ๋๊ณ screen์ ํ์ํ๊ธฐ ์ํด์ 'render()' ์์ ๋ฃ์ด์ค์ผ ํ๋ค. render method์์ ๋ฃ์ด์ผ๋ง ํ๋ค.
- ๊ทธ๋ฌ๋ฉด ๋ฆฌ์กํธ๊ฐ ์์์ ์๋์ผ๋ก, class component์ render method๋ฅผ ์คํํ๋ค.
- state๋ object์ด๊ณ , ๋์ ์ธ ๋ฐ์ดํฐ๋ฅผ state ์์ ์จ์ค๋ค. ๊ทธ๋ฆฌ๊ณ render method์์ ํธ์ถ์ ํด์ค๋ค.
- setState({}) : state๋ฅผ ๋ฐ๊พธ๊ณ ์ถ๋ค๋ฉด, setState๋ฅผ ์ฌ์ฉํ๋ค. ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์์์ refreshํ๊ณ , render function์ refreshํด ํ์ํด์ค๋ค.
- current ์จ์, ๋ ์ฟจํ๊ฒ ์ฝ๋์ง๊ธฐ
React Lifecycle Method
- refresh => Component์ render ํธ์ถ -> componentDidMount
- setState ํธ์ถ => render -> ์ ๋ฐ์ดํธ๊ฐ ๋๋ฉด, ComponentDidUpdate๊ฐ ์๋ํ ๊ฒ
Axios
npm i axios