Redux 상태 관리 라이브러리

개발(공부) 자국·2021년 6월 7일
0
post-thumbnail

Redux가 무엇일까?

Redux는 자바스크립트 앱을 위한 예측 가능한 상태 컨테이너이다.

Redux는 상태 관리를 도와주는 라이브러리다. React로 앱을 만들 때 사용자의 입력하는 정보에 변하는 값들을 state로 정의해서 state를 component 안에서 관리하게 된다.

state가 많지 않고 사용하는 컴포넌트도 많지 않다면 state의 관리가 어렵지 않지만 유저와 상호작용이 많으면 많을 수록 더 많은 state가 필요하게 되고 그 state를 사용하는 컴포넌트가 점점 많아진다면 어디서부터 props로 전달하는 과정이 정말 복잡하여 로직을 바로 알아보기가 어렵게 된다.

유지보수 또한 state의 전달로 긴밀히 연결되어 있기 때문에 수정하기가 어렵다.

그리고 하위 컴포넌트가 state를 사용하려면 상위 컴포넌트가 state를 가지고 있어야 하는데 그러다보면 최상위 컴포넌트에 모든 state들을 가지고 있게 된다. 이는 적절하지 못한 관리가 된다.

이를 위해서 state를 관리해주는 라이브러리가 필요하게 되었다.
이런 state 관리를 도와주는 라이브러리가 Redux다.

Redux는 3가지 원칙을 가지고 있다.

  • Single source of truth.
    -> 하나의 상태관리 공간을 갖는다.

  • State is read only.
    -> state는 읽기 전용이다.

  • Changes are made with pure function
    -> 변화는 순수 함수로 작성되어야 한다.

이런 원칙으로 state를 관리한다.

Redux가 강조하는 것 중 하나는 내가 state 관리가 필요한 상황인지를 정확하게 파악하고 사용하라고 말한다. 무조건 사용하는 것이 아니라 필요한지를 고민하는 과정을 거쳐야 제대로 사용할 수 있기 때문이다.

profile
기록을 중요하게 생각하는 사람입니다. 학습한 내용을 정리한 것이라 잘못된 정보가 있을 수 있습니다. 잘못된 정보는 언제든 말씀해 주시기 바랍니다.

0개의 댓글