Redux란
자바스크립트 상태 관리 라이브러리입니다.
리액트와 함께 사용되며, 앱 전체의 상태를 한 곳에서 관리할 수 있게 해줍니다.
리덕스는 스토어라는 하나의 큰 저장소를 두고 이 곳에서 모든 상태 정보를 관리합니다.
Redux를 사용하는 이유
첫 번째 일관성 입니다.
리덕스를 사용하면 어느 컴포넌트에서든 같은 상태를 참조하게 되니 일관성이 유지됩니다.
예를 들어 사용자의 로그인 상태를 보여주려면 리덕스에서 한 번만 관리하면 되기 때문에 편리합니다.
두 번째 컴포넌트 간 상태 공유 입니다.
여러 컴포넌트에서 같은 정보를 보여주거나 수정해야할 때, 모든 컴포넌트가 그 정보를 쉽게 가져다 쓸 수 있습니다.
세 번째 디버깅과 테스트가 용이합니다.
Redux DevTools를 사용하면 어떤 액션을 통해 상태가 어떻게 바뀌었는지 쉽게 확인할 수 있습니다.
네 번째 시간여행 디버깅 입니다.
Redux는 앱의 모든 상태 변화를 순차적으로 기록합니다. 그래서 언제든지 과거로 돌아가서 문제를 해결할 수 있습니다.
다섯번째 코드 재사용성과 유지보수 입니다.
액션 생성자나 리듀서같은 로직을 여러 곳에서 재사용할 수 있습니다.