0
type:string
の代わりに、reducer:function
が新しい状態を取得するためにレデューサーで呼び出されるようにReduxを修正したとします。ジェネリックのタイプチェックを同じようにしながら同じになるように2回使用する方法
ここで私がチェックしたいのは、私が渡しているペイロードがレデューサーの2番目のパラメーターと互換性があるということです。 コードを見て、次の遊び場とコメントを見てください。 2つのペイロードが異なる値を持つことができますどのような
interface Action<T> {
reducer: (state: object, payload: T) => object,
payload: T
}
type Dispatch = (action: Action<any>) => void
。 私が作成しようとしているのは、ペイロードが、リデューサーが期待している正しいフォーマットであるかどうかをチェックするタイプチェックされたコードです。
何上記に変換すると、このです:
type Dispatch2 = (action: {
reducer: (state: State, payload: any) => State,
payload: any
}) => void
代わりに2つのペイロードのは、どのように、私は彼らが関係なく、彼らが実際が何であれ、同じ型であることにしたいです。