공부기록/[강의노트] Udemy React 완벽가이드 201~300
# 241 [udemy React 완벽 가이드 노트] Redux 기능
Jenner
2022. 10. 12. 13:48
const counterReducer = (state = { counter: 0 }, action) => {
if (action.type === "increment") {
return {
counter: state.counter + 1,
};
}
return state;
};
Reducer 함수를 위와 같이 작성한다면 초기 counter 값이 1이 되지 않을 것이다.
action.type이 increment일 때만 1을 증가시킬 것이기 때문이다.
초기에는 변경되지 않은 default state를 return 하게 될 것이다.
store.dispatch({ type: "increment" });
store.dispatch({ type: "decrement" });
그리고 action을 이 두가지를 주게 되면,
reducer function에 의해 store의 state가 변경되고
store.subscribe(counterSubscriber)
로 인해서
state가 변경된 것을 감지해
counterSubscriber를 실행시켜 준다.
그래서 state가 변경될 때마다 counterSubscriber안의 함수가 실행되어
바뀐 state를 console.log된 것이다.
그로 인해 redux-demo.js 파일을 실행시키면
위와 같이 나오게 된다.
리덕스는 리액트에만 국한된 것이 아니다.
어떤 자바스크립트 프로젝트에서도 사용 가능하다.
다른 프로그래밍 언어에서도 실행 가능하다.
다음 강의에서 리액트에서 리덕스를 실행시켜보자.