더북(TheBook)

22.2.8 서버사이드 렌더링 후 불필요한 API 호출 방지

 

서버사이드 렌더링 후 불필요한 API 호출을 방지하려면 ‘서버사이드 렌더링을 했을 때’ 조건에 따라서 요청을 보내지 않으면 됩니다. 이를 구현하는 방법은 여러 가지입니다. 예를 들어 라우터 상태에 따라 현재 페이지가 첫 페이지라면 API 호출을 막을 수도 있고, 리덕스 상태에 따라 요청을 무시하는 알고리즘을 작성할 수도 있습니다. 또 글로벌 변수를 설정하여 이를 구현할 수도 있습니다.

여러 가지 방법 중에서 우리는 중복 API 요청 방지를 관리하는 간단한 모듈을 만드는 방식으로 해결해 보겠습니다.

src/lib/shouldCancel.js

let cancel = process.env.APP_ENV === ‘browser’ && !!window._ _PRELOADED_STATE_ _;

export const inform = () => {
  cancel = false;
}

export default () => {
  return cancel;
}

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.