리덕스(redux)는 리액트 생태계에서 가장 사용률이 높은 상태관리 라이브러리입니다

리덕스를 사용하게 되면 컴포넌트들의 상태 관련 로직들을 다른 파일로 분리시켜서

더욱 효율적으로 관리 할 수 있으며 글로벌 상태 관리도 손쉽게 할 수 있습니다

물론 Context API를 사용해도 글로벌 상태 관리를 할 수 있고 상태 관련 로직을 분리 할 수 있습니다

Context API와 useReducer Hook을 사용해서 개발하는 흐름은 리덕스를 사용하는 것과 매우 유사합니다

리덕스에도 리듀서와 액션이라는 개념을 사용하기 때문입니다

Redux는 Context API가 지금의 형태로 사용방식이 개선되기도전에, 그리고 useReducer라는 Hook이

존재하기도 전 부터 만들어진 라이브러리 입니다

사실 Context API 가 개선되기 전에는 프로젝트에서 글로벌 상태관리를 하는게 굉장히 까다로웠다고합니다

그래서 리덕스가 글로벌 상태 관리 용도로 많이 사용되어 왔었습니다.

리액트를 사용하는 프로젝트 중 45%가 리덕스를 사용하고 있다고 합니다

하지만 많이 사용된다고 해서 무조건 리덕스가 필요한것은 아닙니다

물론, 잘 활용하면 상황에 따라 그리고 취향에 따라 프로젝트 개발 생산성에 아주 큰 도움을 줄 수도 있습니다.

하지만 단순히 글로벌 상태 관리를 위한 것이라면 Context API를 활용하는 것 만으로 충분 할 수 있습니다.