처음 만난 리덕스 (Redux) 문서


2.3 어떤 경우에 Redux를 사용해야 할까?

그렇다면 어떤 경우에 Redux를 사용해야 할까요?
모든 리액트 애플리케이션에서 Redux를 사용할 필요는 없습니다.
지금부터는 어떤 경우에 Redux를 사용해야 하는지 알아보도록 하겠습니다.

2.3.1 하나의 상태를 여러 컴포넌트에서 접근해야 할 경우

먼저 Redux를 사용해야 하는 첫 번째 경우는, 하나의 상태를 여러 컴포넌트에서 접근해야 할 경우가 있습니다.

Frequently accessed State

바로 이런 경우죠.
하나의 state에 수많은 컴포넌트가 접근해야 할 필요가 있을 때, 이 state를 특정 컴포넌트의 local state로 선언해서 관리한다면 값을 가져다 쓰기에 굉장히 불편할 것입니다.

이러한 state의 가장 대표적인 예로, 사용자의 로그인 여부를 들 수 있습니다.
여러 컴포넌트에서 사용자의 로그인 여부에 따라서 다른 UI를 보여주고자 할 때, 로그인 여부를 나타내는 state에 접근이 필요합니다.
이러한 경우에 로그인 여부를 Redux를 통해서 관리한다면 모든 컴포넌트들이 손쉽게 로그인 여부를 알 수 있습니다.

2.3.2 한 곳에서 상태들을 관리하고 싶은 경우

그리고 Redux를 사용해야 하는 두 번째 경우는, 한 곳에서 상태들을 관리하고 싶은 경우입니다.

리액트로 개발을 하다보면 수많은 컴포넌트와 state들이 생기게 되는데,

‘이러한 state들을 종류별로 잘 분류해서 한 곳에서 관리하면 좋겠다.’

라는 생각을 자연스럽게 하게 됩니다.
그런 경우에 Redux를 사용하면, 상태들을 Redux Store라고 불리는 하나의 저장소에서 편리하게 관리할 수 있습니다.

하지만 그렇다고 해서, 모든 state를 Redux Store에 넣는 것이 정답은 아닙니다.
의도치 않게 특정 state에 대해 접근할 수 있는 통로를 열어주게 되어서, 예상치 못한 side effect가 생길 수 있기 때문이죠.
그래서 꼭 필요한 state들만 Redux를 통해 관리하는 것이 좋습니다.
여기서 꼭 필요한 state라는 것은 앞에서 말한 것처럼, 여러 컴포넌트에서 접근해야 하는 state를 의미한다고 보면 됩니다.


마지막 업데이트: 2023년 07월 14일 00시 00분

이 문서의 저작권은 이인제(소플)에 있습니다. 무단 전재와 무단 복제를 금합니다.