본문 바로가기

JavaScript

Redux란

728x90

Redux는 리액트의 상태를 관리하기위해 사용하는 별도의 라이브러리이다.

리듀서를 이용하면 컴포넌트의 위치와 관계없이 스토어에 접근해 데이터를 사용하고 변경할 수 있다,

어찌보면 컨텍스트와 유사하다.

 

this.store.getState() 형식으로 하위 컴포넌트에 스토어를 전달하면

전달받은 컴포넌트에서

this.props.store.dispatch() 형식으로 가져올 수 있다.

 

단 제약조건으로, 실질적인 store의 구현과 인터페이스는 소스 내에서 구현되는 것이 아닌,

별도의 reducers가 필요하다.

 

reducers 내에서 combineReducers를 통해 리듀싱 함수로 변환하고, 이것을 소스에서 호출해야만 store를 온전하게 사용할 수 있다.

 

컨텍스트와 어느정도는 비슷하지만 번거로운점도 있고 나름의 장점도 가지고 있으니 이것을 참고하자.

https://medium.com/lunit/context-api%EA%B0%80-redux%EB%A5%BC-%EB%8C%80%EC%B2%B4%ED%95%A0-%EC%88%98-%EC%9E%88%EC%9D%84%EA%B9%8C%EC%9A%94-76a6209b369b

 

Context API가 Redux를 대체할 수 있을까요?

React 16.3 버전에서 정식으로 Context API가 발표되었습니다. Props를 직접 전달하는 것과 달리, Context는 중간의 컴포넌트를 건너뛰고 원하는 컴포넌트로 바로 상태를 전달할 수 있어서 예전부터 React

medium.com

 

 

 

728x90