React - Reducer
버전정보
react : ^18.2.0
이전글 : React - Context
1. react 설치
- terminal을 이용하여 react를 설치합니다. (node v20.10.0)
$ npx create-react-app [project name]
![]() |
사진1) Reducer 개념도 |
이전 글에서 context만으로 state를 변경 했습니다. 하지만 이때 다른 컴포넌트에서 잘못된 값을 업데이트 하게 된다면 모든 components가 영향을 받게 됩니다.
사진1의 번호순으로 설명을 하도록 하겠습니다.
1번 : component가 state의 value를 변경하기 위해서 Dispatch에 요청을 합니다. 이때 action을 인자로 주는데 type와 payload(선택적)를 입력합니다.
2번 : dispatch에서 component에서 받은 action을 Reducer에 전달을 합니다.
3번 : Reducer에서 dispatch에 받은 action의 type을 확인합니다. 해당 type과 일치하면 지정된 state 변경을 진행합니다. 이때 payload를 받으면 해당 payload를 이용하여 state를 변경합니다.
4번 : state가 변경되었다. 해당 state를 사용하는 모든 component를 re-randering한다.
기존 Context와 다른점은 이제 Component에서 state 값의 변경을 할려면 Dispatch을 통해서 간접적으로 변경이 가능하다는 것입니다.
GitHub Link : https://github.com/Alex-Choi0/react_context_reducer_sample1.git
댓글
댓글 쓰기