이 함수는 컴포넌트가 업데이트 할지 말지를 boolean 값으로 결정하게 해 줍니다. 기존 props와 업데이트 될 state를 비교한 뒤 컴포넌트 업데이트 여부를 결정하게 하는 거죠. 만일 개발자가 “이 컴포넌트는 절대 업데이트 될 일이 없을 거야”라고 생각된다면, 그냥 return false 를 지정하면 됩니다. 그러면 해당 컴포넌트는 어떤 경우에도 업데이트되지 않죠.
업데이트 여부를 어떻게 결정해야 할지 까다롭다면, PureComponent 혹은 React.memo 를 사용할 수도 있습니다. PureComponent는 개발지를 대신해 ShouldComponentUpdate를 어떻게 할지 미리 결정해 놓은 컴포넌트입니다. ‘얕은 비교 shallow-compare’를 통해 기존 값과 새 값이 원시 값의 경우 동일하거나, 객체 프로퍼티 값의 경우 레퍼런스가 동일하다면 업데이트를 수행하지 않습니다. React.memo는 함수형 컴포넌트에서도 PureComponent 의 효과를 낼 수 있도록 도와주는 HOC입니다.