Redux 流:使用ExtractReturn的函数类型
我正试图减少Redux 流:使用ExtractReturn的函数类型,redux,flowtype,boilerplate,Redux,Flowtype,Boilerplate,我正试图减少redux用flow键入的代码样板 特别是,我希望避免手动定义动作类型,但让流使用提取返回技巧从类型的动作创建者推断动作类型(如或中所述): 类型B>=B; 类型ExtractReturn=\u ExtractReturn; 但它不会捕获简单的错误,例如,它应该捕获action.id是一个number而不是string: 如果操作是“手动”定义的,则会捕获错误: 如何在reducer函数中正确捕获所有错误,而无需手动编写样板代码 编辑:修复了尝试流程链接 编辑:我没有注意到Sha
redux
用flow
键入的代码样板
特别是,我希望避免手动定义动作类型
,但让流
使用提取返回
技巧从类型的动作创建者
推断动作类型(如或中所述):
类型B>=B;
类型ExtractReturn=\u ExtractReturn;
但它不会捕获简单的错误,例如,它应该捕获action.id
是一个number
而不是string
:
如果操作是“手动”定义的,则会捕获错误:
如何在reducer
函数中正确捕获所有错误,而无需手动编写样板代码
- 编辑:修复了尝试流程链接
- 编辑:我没有注意到Shane Osbourne post提供了一个似乎有效的
。看看它。事实上,它也有同样的问题。试着在帖子上写一条评论来暗示它。见评论流程尝试
$Call
实用程序类型可以帮上一点忙:
type Action =
| $Call<typeof get, number>
| $Call<typeof del, number>
| $Call<typeof set, number, string>
类型动作=
|美元电话
|美元电话
|美元电话
在这之后,也许值得将$Call
模式抽象为自己的参数化类型。然而,我在这个时间点上对流动的了解是有限的,所以我的几次尝试并没有取得成果
.从0.72版本开始,您的
流尝试
被捕获
type Action =
| $Call<typeof get, number>
| $Call<typeof del, number>
| $Call<typeof set, number, string>