在使用Flow的类型检查缩减器中,当我的操作返回时:
{ type: TYPE_1 }
或
{ type: TYPE_2, data: { key: value } }
在尝试合并两个动作时,如何避免“在对象文字中找不到属性”:
type Action = { type: string } | { type: string, data: Object };
答案 0 :(得分:2)
最好的做法是更具体地说明哪些行动可能发生:
type Action1 = { type: 'TYPE_1' };
type Action2 = { type: 'TYPE_2', data: Object };
type Action =
| Action1
| Action2;
我还会在减速器内部指定data
的类型如果更重要。
参考:https://flow.org/en/docs/react/redux/#toc-typing-redux-actions