addMiddleware
Pipe方法
描述
State Change前置中间件:
addMiddleware
是当前Pipe下的全部State Change执行前的前置中间件,以回调函数的方式添加该中间件。
用法
addMiddleware(
(rootStore, [...path], stateKey, value, {mode}) => {}
)
参数
rootStore (Object/Array): 根store paths (Array = []): action路径 stateKey (String): state key字符串 value (*): state将要改变的value,如mode是{mode: 'delete'}则这个参数不存在。 mode(Object = { mode:(String) }): state操作类型(delete/set/batch)
返回值
(*): 如果返回值,那么该返回值就将改变state value;同时多个State Change前置中间件按照有返回值进行队列,优先取最后一个有返回的值;如果全部都没有返回值,那么保持原有state value不变。
示例
pipe.addMiddleware(
(root, ...args)=>{
const {mode} = args.pop()
const value = args.pop()
const stateKey = args.pop()
const path = args
//do something
//optional return newStateValue
}
)