我有一个使用Redux进行状态管理的应用程序,我正在尝试添加Flow类型注释 .
我在这里创建了一个非常简单的测试用例,概述了我遇到的问题 .
我创建了一个union Action
类型,然后在reducer函数中,我正在使用 switch
根据action的 type
属性决定返回什么状态 . 在switch语句的每个case中,我正在访问 action
参数的不同属性 .
我没有't understand why Flow is telling me it can'在 action
参数上找到某些属性 . 一切似乎都被正确定义,我真的看不出任何错误 .
这是我的测试用例:
我认为这个问题可能与使用 switch
语句有关,所以这是一个使用 if
的版本,但问题相同:
1 回答
首先,请注意您的
reduce
函数不是有效的reducer . redux减速器必须具有以下特征Flow对精化很悲观(理论上你可以改变回调中的
action.data
引用) . 一种帮助Flow保持细化的方法是使用const绑定(docs)或者,IMO甚至更好,将案例分成几个辅助函数
此外,您可以在redux仓库中找到流式应用程序的示例(请参阅examples / todos-flow)