0
流れが多型を予期する方法は、本当に私に頭痛を引き起こしています。 Here's a minimum example私は持っている問題を実証する。多型と非多型の連合
myPolymorphicAction.payload.key
のタイプが間違っているため、次のようなエラーが発生することがあります。代わりに、action
が多態型ではないと窒息しています。
ここで違いは分かるのですか?
/* @flow */
type normalAction = {
type: string,
payload?: any,
}
type polymorphicAction <P: *> = {
type: string,
payload: P,
}
type action = polymorphicAction<*> | normalAction;
const myAction: action = {
type: "Hello",
payload: { key: "World" }
};
const myPolymorphicAction: action<myActionPayloadType> = {
type: "Hello",
payload: { key: "World" }
}
type myActionPayloadType = {
key: number
}
// FLOW OUTPUT //
20: const myPolymorphicAction: action<myActionPayloadType> = {
^ object literal. Expected polymorphic type instead of
20: const myPolymorphicAction: action<myActionPayloadType> = {
^type `action`