class Component extends React.Component {
**constructor**(props) {
super(props)
console.log("constructor")
}
**render**() {
console.log("render")
return (
<div></div>
)
}
**componentWillMount**() {
console.log("componentWillMount")
}
**componentDidMount**() {
console.log("componentDidMount")
}
}
함수 호출 순서
constructor : 컴포넌트 생성의 첫 번째 단계
componentWillMount : 컴포넌트가 렌더링 되기 직전
render : HTML이 화면에 렌더링되는 시점
componentDidMount : 컴포넌트가 렌더링 된 직후 한번만 실행
// props를 새로 지정한 직후
componentWillReceiveProps(nextProps) {
}
// 컴포넌트가 재 렌더링되기 직전
componentWillUpdate(nextProps, nextState) {
}
// 컴포넌트가 재 렌더링된 직후
componentDidUpdate(prevProps, prevState) {
}
// true를 반환하면 render 함수 재호출 O,
//false를 반환하면 render 함수 재호출 X
shouldComponentUpdate(newProps, newState) {
// 리턴 기본값은 true
}
componentWillUnmount() {
// 컴포넌트가 사라지기 전에
}
componentWillMount, componentWillReceiveProps
=> **static** **getDerivedStateFromProps**(nextProps, prevState) {
console.log('~~')
return { 새로운 state }
}
****componentWillUpdate
=> **getSnapshotBeforeUpdate**(prevProps, prevState) {
return 값
}
****componentDidUpdate(prevProps, prevState)
=> componentDidUpdate(prevProps, prevState, **snapshot**)