class๋ ์ค๋ช ์๋ฅผ ์๋ฏธํ๋ค.
๋ค์์ Date๋ผ๋ ํด๋์ค์ด๋ค. Date ์์๋ ๋ณ์(์ฒด๋ ฅ, ๊ฒฝํ์น ๋ฑ...)๋ ๋ค์ด๊ฐ ์ ์๊ณ ํจ์(๋๋ง๊ฐ๊ธฐ, ๊ณต๊ฒฉํ๊ธฐ ๋ฑ ...)๋ ๋ค์ด๊ฐ ์ ์๋ค. ์ฌ๊ธฐ์ date
๋ผ๋ ์์ด๋ฅผ ๊ฐ์ฒด
๋๋ ์ธ์คํด์ค
๋ผ๊ณ ๋ถ๋ฅด๊ณ getFullYear()
๋ผ๋ ํจ์๋ค์ ๋ฉ์๋
๋ผ๊ณ ๋ ํ๋ค. ์ฌ์ค ํจ์(๋ฉ์๋)๋ฅผ ๋ฐ๋ก ๋ฐ๋ก 3๊ฐ๋ฅผ ๋ง๋ค์ด๋ ๋์ง๋ง ํ๋๋ก ์ง์ค์์ผ๋๊ธฐ ์ํด์ ๊ฐ์ฒด๋ก ๋ง๋ ๊ฒ์ด๋ค.
new Date()
์ฒ๋ผ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ด์ฅ๋์ด ์๋ ๊ฐ์ฒด์ธ Date
๋ฅผ ๋ด์ฅ๊ฐ์ฒด๋ผ๊ณ ํ๊ณ date
๋ฅผ ๊ฐ์ฒด ํน์ ์ธ์คํด์ค๋ผ๊ณ ํ๋ค. ์ด๋ฐ ๋ฐฉ์์ผ๋ก ํ๋ ๊ฐ๋ฐ์ ๊ฐ์ฒด์งํฅํ๋ก๊ทธ๋๋ฐ OOP(Object Oriented Programming)
์ด๋ผ๊ณ ํ๋ค.
(๋ฐฑ์๋์์๋ ๊ฐ๋ฐ์๊ฐ ๋จ์ถ๊ณผ ์ ์ง๋ณด์๊ฐ ์ฌ์ด์ ๋๋ฌธ์ ๊ฐ์ฒด์งํฅํ๋ก๊ทธ๋๋ฐ
์ ์ฃผ๋ก ์ฌ์ฉํ๊ณค ํ๋ค.)
Class Component ํด๋์คํ ์ปดํฌ๋ํธ
Functional Component ํจ์ํ ์ปดํฌ๋ํธ
์ด์ ์ด class๋ฅผ ์ด์ฉํด์ counter ์ปดํฌ๋ํธ
๋ฅผ ํ๋ ๋ง๋ค์ด๋ณด์.
class ์ปดํฌ๋ํธ์์ this
๊ฐ class๋ก ์ธ์ํ๊ฒ ํ๊ธฐ ์ํด์ ํ์ดํ ํจ์
๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ .bind()
๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
render
- ๊ทธ๋ฆฌ๊ธฐcomponentDidMount
- ๊ทธ๋ฆฌ๊ณ ๋ ๋คcomponentDidUpdate
- ๊ทธ๋ฆฌ๊ณ ๋ ๋ค ๋ณ๊ฒฝ๋์ ๋componentWillUnmount
- ๊ทธ๋ฆฌ๊ณ ๋ ๋ค ์ฌ๋ผ์ง ๋์ด๊ฑธ ๋๊ฐ์ด ํจ์ํ ์ปดํฌ๋ํธ๋ก ๋ง๋ค์ด๋ณด์.
ํจ์ํ ์ปดํฌ๋ํธ์์๋ useEffect
ํ๋๋ก ํจ์ํ ์ปดํฌ๋ํธ์ ์๋ช
์ฃผ๊ธฐ๋ฅผ ํํํ ์ ์๋ค. useEffect
์ ๋๋ฒ์งธ ์ธ์๋ก ๋ค์ด๊ฐ๋ ๋ฐฐ์ด์ด ๋งค์ฐ ์ค์ํ ์ญํ ์ ํ๋ค. ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ์์กด์ฑ ๋ฐฐ์ด(dependency array)
์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
๋ค์์ฒ๋ผ ์ฝ๋๋ฅผ ์์ฑํ๊ฒ ๋๋ฉด 1. ๋ถํ์ํ ์ถ๊ฐ ๋ ๋๋ง
๊ณผ 2.๋ฌดํ๋ฃจํ
๋ฅผ ์ผ์ผํฌ ์ ์๋ค. ๊ทธ๋์ // ๊ฐ๊ธ์ ์ด๋ฉด useEffect
์์ setState
์ฌ์ฉ์ ๊ถ์ฅํ์ง ์๋๋ค.
useEffect(()=>{
setCount(prev => prev + 1)
},[count])