Redux middleware 실행 시간 확인 샘플
7527 단어 JavaScriptReduxtech
요점
@@redux/INIT
listener나middleware를 통해 포착되지 않음middleware 이미지
TODO 아래 그림을 작성합니다.
dispatch -> [ outer [ inner [ reducer -> listener ] inner ] outer ]
코드
import { createStore, applyMiddleware } from "redux";
const reducer = (state, action) => {
console.log("reducer", action);
return state;
};
const outerMiddleware = () => (next) => (action) => {
console.log("outer middleware: before", action);
next(action);
console.log("outer middleware: after", action);
};
const innerMiddleware = () => (next) => (action) => {
console.log("inner middleware: before", action);
next(action);
console.log("inner middleware: after", action);
};
const listener1 = () => console.log("listener 1");
const listener2 = () => console.log("listener 2");
const store = createStore(
reducer,
// 後ろにあるミドルウェアが内側になる
applyMiddleware(outerMiddleware, innerMiddleware)
);
store.subscribe(listener1);
store.subscribe(listener2);
store.dispatch({ type: "empty" });
출력
reducer {type: "@@redux/INIT7.m.7.3.0.r"}
outer middleware: before {type: "empty"}
inner middleware: before {type: "empty"}
reducer {type: "empty"}
listener 1
listener 2
inner middleware: after {type: "empty"}
outer middleware: after {type: "empty"}
Playground
Reference
이 문제에 관하여(Redux middleware 실행 시간 확인 샘플), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/eiel/articles/2ca043b5c2a7fd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)