定义对象的语法

定义对象的语法

app.model({
reducers: {
add() {}
effects: { *addRemote() {}
},
});

app.model({
reducers: { add() {} // 等同于 add: function() {} },
effects: { addRemote() {} // 等同于 addRemote: function() {} },
});

十四、Generators(发生器)的用法
dva 的 effects 是通过 generator 组织的。
Generator 返回的是迭代器,通过 yield 关键字实现暂停功能。
yield是一个常用于python函数定义中的关键字,它的作用是返回一个可以用来迭代(for循环)的生成器,它的应用场景通常为一个需要返回一系列值的,含有循环的函数中。
定义对象

app.model({
namespace: ‘todos’,
effects: { *addRemote({ payload: todo }, { put, call }) {
yield call(addTodo, todo);解构赋值、 addTodo这是一个接口
yield put({ type: ‘add’, payload: todo });//传递一下数据
},
},
});

这里的 todo 就是 payload,也就是关键信息
payload 有效加载
要解释什么是有效载重,用货运行业打个比方:
比如有一位客户需要支付一笔费用委托货车司机运送一车石油,石油本身的重量、车子的重量、司机的重量等等,这些都属于载重(load)。但是对于该客户来说,他关心的只有石油的重量,所以石油的重量是有效载重(payload,也就是付费的重量)。
所以抽象一下,payload 可以理解为一系列信息中最为关键的信息。

你可能感兴趣的:(web前端)