내가 코딩로봇 컨트롤러를 완성 했을때와 이를 다른 로봇에 맞게 수정 했을때 나는 나의 코드에 다음과 같은 불만 사항이 생겼다. 그래서 이번 기회에 리펙토링을 해보기로 했다

목차


  1. 불만사항 체크 및 해결방안
  2. 불만사항 해결 및 알게된 점
  3. 후기

불만사항


  1. Context API 남용
  2. 지금 당장만을 생각한 네이밍
  3. 하나의 Context API 파일만 너무 김
  4. 불필요한 import 및 안쓰는 변수

1. Context API 남용

개인적으로 가장 마음에 안드는 부분이다. 성능에 바로 영향을 주는 부분이기 때문이고 느린 속도를 좋아하는 사용자는 없기 때문이다.

나는 매우 직관적인 Context API를 좋아한다. 하지만 단점이 하나 있는데 Context API는 Provider로 제공된 value가 변경된다면 re-rendering이 발생하는데 의존하고 있지 않은 value가 변경되어도 다시 렌더링이 되어 불필요한 렌더링이 너무 많이 발생했다.

나는 위 문제에 대해 3가지 해결방안을 생각해 보았다.

해결방안

  1. Redux로 상태관리 하기
  2. Context API를 분리하기
  3. constate를 사용해보기