1. 程式人生 > 其它 >初步瞭解中介軟體

初步瞭解中介軟體

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的高階函式
*/