๐ ๋ฆฌ์กํธ ๊ณต์๋ฌธ์์ ๋ฆฌ์กํธ๋ฅผ ๋ค๋ฃจ๋ ๊ธฐ์ ์ ์ฐธ๊ณ ํ์ฌ ์์ฑํ ๊ธ์ ๋๋ค.
9๊ฐ์ง์ ์๋ช ์ฃผ๊ธฐ ๋ฉ์๋๊ฐ ์์ต๋๋ค. ํ๋์ฉ ์ดํด๋ด ์๋ค..!
๋ง์ดํธ๋ ๋ ๋ฐ์ํ๋ ์๋ช ์ฃผ๊ธฐ ์ ๋๋ค.
constructor
๋ ์ปดํฌ๋ํธ์ ์์ฑ์ ๋ฉ์๋์
๋๋ค.constructor(props) {
super(props);
console.log("constructor");
}
getDerivedStateFromProps
๋ props
๋ก ๋ฐ์์จ ๊ฒ์ state
์ ๋ฃ์ด์ฃผ๊ณ ์ถ์ ๋ ์ฌ์ฉํฉ๋๋ค.static getDerivedStateFromProps(nextProps, prevState) {
console.log("getDerivedStateFromProps");
return null;
}
์ ๋ฐ์ดํธ๋ ๋ ๋ฐ์ํ๋ ์๋ช ์ฃผ๊ธฐ ์ ๋๋ค.
์์์ ๋์ผ
shouldComponentUpdate
๋ฉ์๋๋ ์ปดํฌ๋ํธ๊ฐ ๋ฆฌ๋ ๋๋ง ํ ์ง ๋ง์ง๋ฅผ ๊ฒฐ์ ํ๋ ๋ฉ์๋์
๋๋ค.shouldComponentUpdate(nextProps, nextState) {
console.log("shouldComponentUpdate");
return true;
}
์์์ ๋์ผ
getSnapshotBeforeUpdate
๋ render
์์ ๋ง๋ค์ด์ง ๊ฒฐ๊ณผ๋ฌผ์ด ๋ธ๋ผ์ฐ์ ์ ์ค์ ๋ก ๋ฐ์๋๊ธฐ ์ง์ ์ ํธ์ถ๋ฉ๋๋ค.componentDidUpdate
ํจ์์ ์ธ๋ฒ์งธ ํ๋ผ๋ฏธํฐ์ธ snapshot
๊ฐ์ผ๋ก ์ ๋ฌ๋ฐ์ ์ ์์ต๋๋ค.getSnapshotBeforeUpdate(prevProps, prevState) {
console.log("getSnapshotBeforeUpdate");
return null;
}
componentDidUpdate
๋ ๋ฆฌ๋ ๋๋ง์ด ๋ง์น๊ณ , ํ๋ฉด์ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๋ณํ๊ฐ ๋ชจ๋ ๋ฐ์๋๊ณ ๋ ๋ค ํธ์ถ๋๋ ๋ฉ์๋์
๋๋ค.componentDidUpdate(prevProps, prevState, snapshot) {
console.log("componentDidUpdate");
}
์ธ๋ง์ดํธ์ ๊ด๋ จ๋ ์๋ช
์ฃผ๊ธฐ ๋ฉ์๋๋ componentWillUnmount
ํ๋์
๋๋ค.
componentWillUnmount
๋ ์ปดํฌ๋ํธ๊ฐ ํ๋ฉด์์ ์ฌ๋ผ์ง๊ธฐ ์ง์ ์ ํธ์ถ๋ฉ๋๋ค.componentWillUnmount() {
console.log("componentWillUnmount");
}