- ์ฌํ์ฉํ์ฌ ์ฌ์ฉํ ์ ์๋ค.
- ์ฝ๋ ์ ์ง๋ณด์์ ์ข๋ค.
- ํด๋น ํ์ด์ง๊ฐ ์ด๋ป๊ฒ ๊ตฌ์ฑ๋์ด ์๋์ง ํ ๋์ ํ์
ํ๊ธฐ ์ข๋ค.
- ์ปดํฌ๋ํธ๋ ๋ ๋ค๋ฅธ ์ปดํฌ๋ํธ๋ฅผ ํฌํจํ ์ ์๋ค. (๋ถ๋ชจ ์ปดํฌ๋ํธ - ์์ ์ปดํฌ๋ํธ)
- ๋ฐ๋ณตํด์ ์ถํํ๋ HTML UI
- ์์ฃผ ๋ณ๊ฒฝ๋๋ HTML UI
- ๋ค๋ฅธ ํ์ด์ง๋ฅผ ๋ง๋ค๋ ์ปดํฌ๋ํธ ์ฌ์ฉ (์ปดํฌ๋ํธ ๋์ withRouterHOC ์ฌ์ฉ ๊ฐ๋ฅ)
- ์ปดํฌ๋ํธ์ ์ฒซ๊ธ์๋ ๋๋ฌธ์๋ก ์์ฑํด์ผ ํ๋ค. (์๋ฌธ์ ์
๋ ฅ ์ ์๋ฌ ๋ฐ์)
- ์ปดํฌ๋ํธ๋ฅผ ๊ณผํ๊ฒ ๋ง์ด ์ฌ์ฉํ๋ฉด ๋ณต์กํด์ง ์ ์๋ค. (state ์ฌ์ฉํ ๋)
์ปดํฌ๋ํธ์ ์ข ๋ฅ, ์ฆ ์ปดํฌ๋ํธ๋ฅผ ์ ์ธํ๋ ๋ฐฉ์์๋ ๋ ๊ฐ์ง๊ฐ ์๋ค.
1) Class Component
import React from 'react' class Component extends React.Component { render() { return ( <div> <h1>This is Class Component!</h1> </div> ) } } export default Component
- ํด๋์คํ ์ปดํฌ๋ํธ์์๋ ์์๊ฐ์ด
render
ํจ์๊ฐ ๊ผญ ์์ด์ผ ํ๊ณ , ๊ทธ ์์ ๋ณด์ฌ ์ฃผ์ด์ผ ํ JSX๋ฅผ ๋ฐํํ๋ค.- state ๊ธฐ๋ฅ & ๋ผ์ดํ์ฌ์ดํด ๊ธฐ๋ฅ ์ฌ์ฉ ๊ฐ๋ฅ
- ์์๋ฉ์๋ ์ ์ ๊ฐ๋ฅ
2) Functional Component
import React from 'react' const Component = () => { return ( <div> <h1>This is Functional Component!</h1> </div> ) }; export default Component
- ์ ์ธํ๊ธฐ ๊ฐํธํ๋ค.
- ๋ฉ๋ชจ๋ฆฌ ์์์ด ๋ ์ฌ์ฉ๋๋ค.(ํ๋ก์ ํธ๊ฐ ์ข ๋ฃ๋๊ณ ๋น๋ ํ ๋ฐฐํฌ์์๋ ๊ฒฐ๊ณผ๋ฌผ ํ์ผํฌ๊ธฐ๊ฐ ๋ ์๋ค.)
- state์ ๋ผ์ดํ์ฌ์ดํด API ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅํ๋ค๋ ๋จ์ ์ด ์์์ง๋ง ์์ผ๋ก ๋ฐฐ์ธ Hooks๊ธฐ๋ฅ ๋์ ๋๋ฉด์ ํด๊ฒฐโจ!
๐ฅ ๊ฒฐ๋ก - ํด๋ ์คํ๊ณผ ํจ์ํ์ ์ญํ ๊ณผ ์ฑ๋ฅ์ ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ถ๋ช ํ ํจ์ํ์ด ๋ ํธ๋ฆฌํ๊ณ ๋ง์ด ์ฌ์ฉ๋๊ณ ์๋ค. ํ์ง๋ง ํด๋ ์คํ์ผ๋ก ๊ธฐ๋ณธ๊ธฐ๋ฅผ ์ตํํ Hooks๋ฅผ ์๋ฒฝํ ์ดํดํ๊ณ ํจ์ํ์ผ๋ก ๋ค๋ค๋ค๋ฅ ์์ฑํ ๊ฑฐ๋ค ..๐คช