Redux, 언제 쓸까?
Redux 를 쓸 타이밍
미들웨어, SSR, 테스팅
-
리덕스를 사용한 개발 스타일이 마음에 들 떄
적당한 상황에서 쓰면 편하고 좋으며 불필요할땐 번거롭고 불편
모든 상태 업데이트를 액션으로 정의하고, 액션 정보에 기반하여 리듀서에서 상태를 업데이트하는 간단한 발상이 상태 예측과 유지보수 를 편하게 함
-
미들웨어
특정 액션이 디스패치 됐을 때 상태 업데이트 외의 다른 작업을 따로 처리할 수 있음
비동기 작업에 대한 플로우에 대하여 많은 컨트롤을 필요로 할 때 유용
API 요청을 처리하곤 하지만 다른 라이브러리가 있기 때문에 반드시 사용할 필요는 없음
-
SSR
미들웨어를 이용해 API 요청 결과를 사용해 SSR 하는 것이 용이
다른 상태관리 라이브러리에선 SSR 처리 준비되지 않음
-
더 쉬운 테스팅
리듀서에서 다양한 상태 업데이트에 대한 로직 테스트 하기 귀움
리덕스와 연동된 컴포넌트를 테스트 할 때 Mocking, 미들웨어 작동 방식도 Mocking 할 수 있음
-
컴포넌트가 아닌 곳에서 글로벌 상태를 사용하거나 업데이트 할 때
WebSocket 사용이나 리액트 네이티브 브릿지에서 연동 시 getState 또는 dispatch 바로 호출해서 사용하면 유용
-
많이 사용 돼서
이미 쓰고 있거나 리팩토링할 때 유용