react

[react] shouldComponentUpDate 사용법

beaksul 2022. 11. 18. 19:14

1. shouldComponentUpDate를 사용하는 이유

 

리액트는 props, state가 변경되었을 때, 부모 컴포넌트가 렌더링 되었을 때 렌더링 된다.

이러한 특성 때문에 렌더링이 필요하지 않은 자식 컴포넌트가

부모 컴포넌트 때문에 같이 렌더링 되는 불필요한 일이 발생하게 된다.

작은 프로젝트에서는 큰 문제가 되지 않을 수 있으나 프로젝트가 커질수록 불필요한 렌더링은 성능 손실을 야기한다.

 

shouldComponentUpDate를 사용하면 이 점을 해결할 수 있다.

 

 

2. 사용법

 

shouldComponentUpDate는 newProps와 newState를 인자로 받기 때문에

this.props.data와 newProps.data를 이용해서 이전 값과 변경된 값을 알아낼 수 있다.

class HI extends Component{
  shouldComponentUpDate(newProps, newState){
    if(this.props.data === newProps.data){
      return false;
    }
    return ture;
  }
}
  render(){
  
  }

shouldComponentUpDate는 render보다 먼저 실행되고,

리턴 값이 ture면 render를 호출하고, false면 호출하지 않는다.

이전 값과 변경된 값이 같을 경우 리턴 값을 false로 설정하면 불필요한 렌더링을 막을 수 있다.