Redux

김보성·2021년 4월 5일
0

JavaScript

목록 보기
11/11

Redux?

Redux는 javascript app을 위한 예측가능한 상태관리를 해주는 컨테이너라고 한다. 여기에서 상태는 react에서 component안에 있는 상태를 의미한다. 리액트의 상태관리는 복잡하다. 예를 들어서 부모컴포넌트하나에 child1, child2 두개의 자식 컴포넌트가 있다고 하면, child1에서 child2로 데이터를 보내줄때 부모컴포넌트를 반드시 거쳐야 한다. 이런 불편함을 해소 시켜준다.

Redux의 세가지 원칙

  1. Single source of truth
  2. State is read-only
  3. Changes are made with pure function

Single source of truth 라는 말은 동일한 데이터는 한군데에서 나온다라는 말이다. 즉, store에서 상태를 가지고 온다.
State is read-only 는 리액트에서는 setState를 통해 상태를 관리할 수 있었는데, 리덕스에서는 action 이라는 객체를 사용해 수정할 수 있다. 그러니깐 state는 읽는 것만 가능하다.
Changes are made with pure function는 변경은 순수함수로만 가능하다는 말인데, 이건 redux의 reducer와 연결된다. action객체는 dispatch(method)에게 전달되고, dispatch는 ruducer를 호출해서 새로운 state를 생성한다. (ruducer를 거쳐서 간다.)

데이터는 한방향으로 가야한다.

Redux의 장점

  1. 상태를 예측 가능하게 만들어 준다.
  2. 유지보수
  3. 디버깅에 유리하다.(action & state log 기록 시)
  4. 테스트를 붙이기 쉽다.
profile
Boseong

0개의 댓글