리덕스를 사용하면 좋을 때

  1. 상태들이 자주 업데이트 될 때
  2. 앱의 크기가 클 때
  3. 상태가 업데이트 되는 시점을 관찰할 필요가 있을 때

장점

  1. 체계적인 상태 관리 시스템(데이터의 중앙집권화)
  2. 미들웨어를 통한 효율적인 비동기 통신
  3. 데이터가 한방향으로만 흐름(Flux)으로써, 코드의 흐름을 예측할 수 있고 리덕스 데브툴을 통해 디버깅 과정을 상대적으로 쉽게 수행할 수 있다.

단점

  1. 액션의 타입, 액션 생성 함수 등을 부수적으로 만들어야 하며, 그로 인해 코드의 양이 매우 많아진다.
  2. 불변성 개념을 위해 매번 새로운 state 객체를 생성해야 한다.