初步瞭解中介軟體
阿新 • • 發佈:2021-10-10
logger.js
export default store => next => action => {
console.log(action)
next(action)
}
test.js
export default store => next => action => {
console.log('action', action)
next(action)
}
index.js
import { createStore, applyMiddleware } from 'redux' import reducer from './reducers/conter.reducers' import logger from '../store/middleware/logger' import test from '../store/middleware/test' export const store = createStore(reducer, applyMiddleware(logger, test)) /* applyMiddleware 是一個redux的API, 用於從左到右鏈式呼叫中介軟體,返回一個函式, 一般使用中介軟體會用到,接收多箇中間件為引數 */ /* 為什麼要使用中介軟體? 通常我們使用dispatch呼叫action不僅僅只是更新reducer,可能還需要其他的功能,最後 再更新reducer,那麼我們需要開發的其他功能就是中介軟體。 在呼叫dispatch的時候,會被中介軟體接收到,中介軟體會執行相應的業務,如果有多箇中間件 將會呼叫next方法,將結果傳遞給下箇中間件,直到所有中介軟體執行完畢,才會將最終的值給到 reducer進行更新 */ /* createStore 接收三個引數 第一個引數為reducer 第二個引數為state的初始值 第三個引數為組合store cteator的高階函式 在這裡傳遞給createStore的applyMiddleware就是store cteator的高階函式 */