그렇다면 어떤 경우에 Redux를 사용해야 할까요?
모든 리액트 애플리케이션에서 Redux를 사용할 필요는 없습니다.
지금부터는 어떤 경우에 Redux를 사용해야 하는지 알아보도록 하겠습니다.
먼저 Redux를 사용해야 하는 첫 번째 경우는, 하나의 상태를 여러 컴포넌트에서 접근해야 할 경우가 있습니다.
바로 이런 경우죠.
하나의 state에 수많은 컴포넌트가 접근해야 할 필요가 있을 때, 이 state를 특정 컴포넌트의 local state로 선언해서 관리한다면 값을 가져다 쓰기에 굉장히 불편할 것입니다.
이러한 state의 가장 대표적인 예로, 사용자의 로그인 여부를 들 수 있습니다.
여러 컴포넌트에서 사용자의 로그인 여부에 따라서 다른 UI를 보여주고자 할 때, 로그인 여부를 나타내는 state에 접근이 필요합니다.
이러한 경우에 로그인 여부를 Redux를 통해서 관리한다면 모든 컴포넌트들이 손쉽게 로그인 여부를 알 수 있습니다.
그리고 Redux를 사용해야 하는 두 번째 경우는, 한 곳에서 상태들을 관리하고 싶은 경우입니다.
리액트로 개발을 하다보면 수많은 컴포넌트와 state들이 생기게 되는데,
‘이러한 state들을 종류별로 잘 분류해서 한 곳에서 관리하면 좋겠다.’
라는 생각을 자연스럽게 하게 됩니다.
그런 경우에 Redux를 사용하면, 상태들을 Redux Store라고 불리는 하나의 저장소에서 편리하게 관리할 수 있습니다.
하지만 그렇다고 해서, 모든 state를 Redux Store에 넣는 것이 정답은 아닙니다.
의도치 않게 특정 state에 대해 접근할 수 있는 통로를 열어주게 되어서, 예상치 못한 side effect가 생길 수 있기 때문이죠.
그래서 꼭 필요한 state들만 Redux를 통해 관리하는 것이 좋습니다.
여기서 꼭 필요한 state라는 것은 앞에서 말한 것처럼, 여러 컴포넌트에서 접근해야 하는 state를 의미한다고 보면 됩니다.
마지막 업데이트: 2023년 07월 14일 00시 00분
이 문서의 저작권은 이인제(소플)에 있습니다. 무단 전재와 무단 복제를 금합니다.