// 用于将返回的命名空间中的status绑定这个控件中 用来链接组件和状态管理器 export default connect(({ listRed, loading }) => ({ //数组就相当于给当前空间props赋值 av: listRed, // 要绑定的命名空间 // submitting: loading.effects['listRed/fetch'], submitting: 'apopi', }))(Login);
js组件中使用connect,指的是将listRed的命名空间中的数据绑订到key为av上,这时,只要listRed中发生变化,就会使这个页面的props发生变化,props相当于{av,submitting}的对象
module中
import { qUrl } from '@/services/redirect'
const red = {
namespace: 'listRed',
//state 存储数据收到 Action 以后,会更新数据
state: {
status: undefined,
},
effects: {
// @param payload 参数
// @param call 执行异步函数调用接口
// @param put 发出一个 Action,类似于 dispatch 将服务端返回的数据传递给上面的state
*fetch({payload}, {call, put}) {
console.log('获取到数据!!!',payload)
const response = yield call(qUrl, payload)
yield put({
type: 'queryList', //reducers 中的方法
payload: response ,
})
},
},
reducers: {
queryList(state, { payload }) {
console.log(payload)
console.log('reduce')
return {
...state, status: payload.status, type: payload.type
}
}
},
};
export default red;
会将传递给view中的av,间接的给了props