Redux

yuJaeWu·2021년 1월 11일
1

TIL

목록 보기
39/68

Redux란?


리덕스는 리액트 어플리케이션 안에서 중요한 요소인 state를 관리해주는
라이브러리이다.
상태관리를 해주는 라이브러리가 왜 따로 있냐고 물어본다면, 이에 대한 대답은
Redux는 어디에서나 쓰일수도, 쓰일 필요가 없을수도 있는 어플리케이션이기 때문.
대체로 Redux는 규모가 큰 프로젝트의 수많은 상태들을 관리할때 사용한다.
프로젝트 규모가 상대적으로 작은편이거나, 많은 상태들을 관리하지 않아도 괜찮다면
mobx나 context api를 사용하는게 더 효율적일수 있다는 소리이다.


Redux의 기본 원리는 메인 컴포넌트에서 관리하고 유통하던 상태들을 react앱 바깥에다가 몰아넣는 개념이라 보면된다.
이렇게 state를 store라는 js파일(react 외부에 있는)에다가 몰아넣고
해당 상태값을 원하는 상황이나 컴포넌트가 바로 store에 접근하도록 만들어 낸다.


Redux의 3원칙

  1. 앱의 모든 state는 한 장소에 저장한다.
  2. state는 오직 action을 통해서만 변경한다. 즉, 상태는 읽기전용
  3. reducer는 무조건 순수함수로만 작성한다.

redux가 작동되는 원리
출처: medium


Action


액션은 생성을 할때 무조건 type을 명시해주어야 하고 이것은
인터페이스를 생성하는 것과 비슷한 느낌이다.
이러한 정보를 받아서 뱉어낸다 까지만 적어놓는 느낌.


reducer


여기서 방금 전에 만들어 놓은 액션을 정확히 어떻게 사용할 것인지에
대하여 적어준다. 중요한것은 3원칙에 위배되지 않게 만들어야 하는것.
이유는 3원칙에 엇나가지 않아야지만 redux의 특징 중 하나인 과정도 관리할수있게 해주는 것이다.


store


store를 만들어주고 거기에 reducer, action을 연결해준다.


dispatch


이러한 연결관계를 만들어놓고 심지에 불을 붙여주는 역활은 dispatch를 호출하여 해당 api를 실행하는 것이다.


profile
어중간한 성공보다는 확실한 실패가 좋다.

0개의 댓글