我正在尝试将React库中的React.Element
类型与Flow一起使用,如下所示:
import type { Element } from "react";
interface Keyed {
componentKey: string,
}
type KeyedElement<E: Keyed> = Element<E>;
const keyedGood: KeyedElement<*> = <div componentKey="keyed" />; // no flow error
const keyedBad: KeyedElement<*> = <div />; // flow error, componentKey is required
意图是KeyedElement将成为必须具有必需的componentKey
道具的react元素的类型。正如我定义的KeyedElement类型一样,这不起作用也不足为奇,因为我没有指出componentKey
属性必须以任何方式位于元素props
上,但希望它能证明我正在尝试做的事情。
任何人都知道我如何进行这项工作吗?