Redux 의 (state) 를 사용하면 React 의 (state) 쓰지 않아도 된다.
하지만, 실무에서는 둘 다 혼용하는 편이다.
Redux (state) 는 어려운 state에 주로 쓰고, 간단한 state 변경은 React에서 사용한다.
=> state(값)를 action을 dispatch로 실행하고
action을 reducer에 적힌대로 변경(setState)한다.
// 미들웨어는 삼단함수이다
function firstMiddleware(store) {
return function (dispatch) {
return function (action) {
// 기본 기능 실행 전에 콘솔 기능 추가
console.log('로깅', action);
// 기본 기능
dispatch(action);
}
}
};
const enhancer = compose(
applyMiddleware(firstMiddleware)
);
// 미들웨어는 스토어의 세번째 인자 자리에 위치한다
const store = createStore(reducer, initialState, enhancer);
store.subscribe(() => {
console.log('changed');
});