```
reducers: {
// 用于处理数据,定义一些action 用于effects激发,唯一能修改state的地方
// 格式为 (state, action) => newState 或 [(state, action) => newState, enhancer]
// 例如:给state 加一个字段fieldA
doSomething(state, payload){ return {...state, fieldA: payload.fieldA}; }
},
effects: {
// 定义一些action,用于subscriptions中激发
*action1(payload, {put,call,select,take}) {
// put 用于发起action调用reducers中的函数
put(type: 'doSomething', payload);
// call 用于同步调用方法
const a = yield call(funcName, props);
// select 用于从state获取数据
const a = select(state => select.fieldA);
// take 用于获取发送的数据(不知怎么用给它传啥返回的对象里就包含啥)
},
subscriptions: { // app.start()后立即执行
setup({ dispatch, history }) {
return history.listen(({ pathname, search }) => {
console.log(`pathname...: ${pathname}`);
dispatch({ type: 'namespace/action1' }); // 从这里激发effects中的action
});
}
}
},
```
网友评论