【发布时间】:2017-09-27 07:23:35
【问题描述】:
我在任何地方都没有找到一个好的答案,这似乎是一个毫无意义的约定。在许多教程和文档中,Redux 操作是这样定义的:
{
type: "ACTION_NAME",
payload: {
foo: 123,
bar: 456,
}
}
payload 对象的意义何在?为什么不直接写这个:
{
type: "ACTION_NAME",
foo: 123,
bar: 456,
}
我正在使用 Flow,我喜欢将我的所有操作类型定义为一个联合,而无需嵌套有效负载:
type Action = {
type: 'ACTION_NAME',
foo: number,
bar: number,
} | {
type: 'ANOTHER_ACTION',
someData: string,
} | {
type: 'ONE_MORE_ACTION',
moreData: boolean,
}
我不必多次输入payload,我的所有操作都会自动完成和类型检查,所以我不确定我错过了什么。
我是否因为没有将所有数据都放入 payload 对象而错过了一些好处?
【问题讨论】:
标签: javascript reactjs redux flowtype