- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试减少使用 flow
键入的 redux
代码的样板。
特别是,我想避免手动定义 action types
,而是让 flow
使用 从
技巧(如 Shane Osbourne post 或 Martin Hochel post 中所述):typed action creators
中推导出它们>ExtractReturn
type _ExtractReturn<B, F: (...args: any[]) => B> = B;
type ExtractReturn<F> = _ExtractReturn<*, F>;
但它不会捕获简单的错误,例如它应该捕获 action.id
是一个 number
而不是 string
:Try Flow .
如果操作是“手动”定义的,则会捕获错误:Try Flow。
如何在 reducer
函数中正确捕获所有错误,而无需手动编写样板代码?
Shane Osbourne post
提供了一个似乎有效的Flow Try
。看着它。实际上,它有同样的问题。尝试在帖子上写评论以发出信号。见评论 here 最佳答案
如果您有兴趣,我设法让 Flow 捕捉到您的示例未捕捉到的错误。 Here is the code .
这无疑是 hacky。我的想法来自 this Github issue .
除此之外,我无法提供更多见解。我自己正在寻找更好的解决方案。
编辑:在进一步挖掘之后,我发现 $Call
实用程序类型可以提供一些帮助:
type Action =
| $Call<typeof get, number>
| $Call<typeof del, number>
| $Call<typeof set, number, string>
在此之后,也许值得抽象化 $Call<...>
模式转换成它自己的参数类型。不过,我目前对 Flow 的了解有限,所以我的几次尝试都没有取得成果。
关于redux - 流 : function type using ExtractReturn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47155056/
我正在尝试减少使用 flow 键入的 redux 代码的样板。 特别是,我想避免手动定义 action types,而是让 flow 使用 从 typed action creators 中推导出它们
我是一名优秀的程序员,十分优秀!