redux 쓰지 마세요

Park June Chul·2021년 10월 3일
4

React

목록 보기
4/7
post-thumbnail

많은 사람들이 redux를 소개할 때 복잡한 상태관리를 쉽게 처리할 수 있는 ~~ 이런식으로 소개합니다.

근데 솔직히 쓰면서 이런 생각을 해보신 적이 있지 않으신가요?

이게 진짜 쉬운건가?

redux 식으로 상태를 관리하려면 값 하나를 바꾸는데도 10줄가량의 코드를 작성해야 할 수도 있습니다.


저는 지금까지 짜다가 망한 redux코드를 꽤 많이 봤습니다.

구체적으로 망했다 하는 것은 아래와 같은 경우들이 있습니다.

  • redux가 설치되어있고 뭔가 셋업도 되어 있는데 진짜 redux 쓰고 있는건가? 싶은것들
  • api 요청 하나당 js 파일 하나를 만든 경우 (짜는 방법에 따라 store, slice, reducer 파일, 아니면 요청 하나에 3개 파일 전부...)
  • api 요청 하나당 REQUEST, SUCCESS, ERROR, CANCEL 등 4개의 action을 만드는 경우.

이러한 문제들을 겪어보신적이 있거나, 이렇게 작성된 코드를 본 적이 있으실 겁니다.
위 문제들이 나오는 이유는 아래와 같다고 생각합니다.

  • redux 공식 예제는 TODO 혹은 countdown 앱인데, 실제 프로젝트에서는 api 요청도 하고 더 많은 상태를 관리해야 함.
  • 인터넷에 뭔가 잘못된 예제들이 많이 돌아다님...
  • redux 자체는 하나의 개념이고, redux는 해당 개념을 최소한으로 구현한 구현체에 불과합니다. 사실 프로덕트에서 쓰려면 thunk, redux-saga, redux-toolkit 같은 추가 구현체가 필요합니다.
  • (제일 중요) redux를 사용하기위한 최소 준비물은, 일정 수준 이상의 코딩 실력, 이해도, 앱 개발 경험 이 필요합니다. redux는 날것으로 쓸수 있는 물건이 절대 아니고 스스로 생각해서 더 좋은 코드를 만들 수 있는 능력이 있어야 사용할 수 있습니다.

사실 4번이 가장 중요합니다. redux는 신입 개발자가 셋업해서 잘 쓸수있는 물건은 절대 아닙니다. (저조차도 아직 redux를 받아드리기엔 준비가 안됐다고 생각하여 redux는 전혀 사용하지 않고 있습니다.)


만약 본인이 redux를 쓰면서 구리지 않다고 생각하고, 아무런 어려움이 없다면 redux를 계속 쓰셔도 됩니다. 상태 관리 라이브러리는 개인의 취향이며, 구리지 않게 짤 수 있다면 아무런 문제가 없습니다.

만약 redux를 쓰면서 이게 진짜 좋은건가? 라는 생가이 들거나, 혹은 각종 어려움을 겪고 계시다면 공부가 부족해서라고 생각하지 마시고 되도록 빨리 redux를 탈출하세요.
redux 이외의 다른 상태관리 라이브러리를 먼저 접하거나, 나중에 현업에서 단단하게 작성된 redux 코드를 보면서 참고해서 나중에 다시 도전해도 아무런 문제가 없습니다.

profile
다른 곳에서 볼 수 없는 이상한 주제를 다룹니다. https://pjc0247.github.io/new-home

1개의 댓글

comment-user-thumbnail
2021년 10월 12일

전역 상태관리는 결국 필요한대, 그 중 리덕스를 쓰는 것 SSR 지원 , 많은 표본, 데브툴이 대체불가...
개념을 이해하고 toolkit이 생긴 후 부터는 사용하는데 불편함이 크게 줄어서 저는 계속 리덕스 사용합니다.
리코일에 ssr과 데브툴 나오면 바로 교체하고싶네요 ㅋㅋ

답글 달기