React ์ปดํฌ๋ํธ๋ Mount(์์ฑ) -> Update(์ ๋ฐ์ดํธ) -> Unmount(์ ๊ฑฐ)์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
์ปดํฌ๋ํธ๊ฐ ์ฒ์ ์คํ๋๋ ๊ฒ์ Mount๋ก ์ปดํฌ๋ํธ์ ์์ฑ์ ๋งํ๋ค.
1) Constructor
- ์ปดํฌ๋ํธ ์์ฑ์ ๋ฉ์๋๋ก ์ปดํฌ๋ํธ ์์ฑ ์ ๊ฐ์ฅ ๋จผ์ ์คํ์ด ๋๊ณ this.props, this.state๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
2) getDerivedStateFromProps
- props๋ก ๋ฐ์์จ ๊ฐ์ state์ ๋ฃ์ ๋ ์ฌ์ฉํ๋ ๋ฉ์๋
3) render
- ์ปดํฌ๋ํธ ๋ ๋๋ง ๋ฉ์๋
4) componentDidMount
- ์ปดํฌ๋ํธ ์์ฑ์ด ์๋ฃ๋จ์ ๋ํ๋ด๋ฉฐ, ์ฒซ๋ฒ์งธ ๋ ๋๋ง์ ๋ง์น๋ฉด ํธ์ถ๋๋ ๋ฉ์๋
์ปดํฌ๋ํธ๊ฐ ์ ๋ฐ์ดํธ ๋๋ ๊ฒ์ ๋งํ๋ค.
1) getDerivedStateFromProps
- ์ปดํฌ๋ํธ์ props๋ state๊ฐ ๋ณ๊ฒฝ ๋ ๋ ๋ฐ์ํ๋ ๋ฉ์๋
2) shouldComponentUpdate
- ์ปดํฌ๋ํธ์ ์ฌ๋ ๋๋ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ ๋ฉ์๋
3) getSnapshotBeforeUpdate
- ๊ฐ์ฅ ๋ง์ง๋ง ๋ ๋๋ง ๊ฒฐ๊ณผ๊ฐ DOM์ ๋ฐ์ํ๊ธฐ ์ ํธ์ถ๋๋ ๋ฉ์๋
ex) ์๋ฅผ ๋ค์ด ์ฌ์ฉ์๊ฐ ๋ง์ง๋ง ์คํฌ๋กค ์์น๋ฅผ ์ ์ฅํด ์ปดํฌ๋ํธ๊ฐ ์ ๋ฐ์ดํธ ๋์ด๋ ์ด์ ์ ์คํฌ๋กค ์์น๋ฅผ ๋ถ๋ฌ์ ์ ์งํ๋ค.
4) componentDidUpdate
- ์ปดํฌ๋ํธ๊ฐ ์
๋ฐ์ดํธ ๋ ํ ๋ฐ์ํ๋ ๋ฉ์๋
์ปดํฌ๋ํธ๊ฐ ํ๋ฉด์์ ์ฌ๋ผ์ง๋ ๊ฒ์ ๋งํ๋ค.
1) componentWillUnmount
- ์ปดํฌ๋ํธ๊ฐ ์น์์ ์ฌ๋ผ์ง๊ธฐ ์ ์ ํธ์ถ๋๋ ๋ฉ์๋