假设我以某种方式修改了Redux,而不是使用type:string
,现在需要在reducer中调用reducer:function
来获取新状态。
现在我想要检查的typescript是我传递的任何有效负载都与reducer的第二个参数兼容。 请查看以下游乐场的代码和评论。
interface Action<T> {
reducer: (state: object, payload: T) => object,
payload: T
}
type Dispatch = (action: Action<any>) => void
什么允许两个有效负载具有不同的值。 我打算创建的是一个类型检查代码,它检查有效负载是否具有reducer期望的正确格式。
上述内容是:
type Dispatch2 = (action: {
reducer: (state: State, payload: any) => State,
payload: any
}) => void
不管两个有效载荷是否为任何有效载荷,我希望它们属于同一类型,而不管它们实际上是什么。
答案 0 :(得分:2)