有没有办法将另一个组件附加到已经作为ComponentType输入的组件?
E.g:
type Props = {
name: string,
}
const Header: ComponentType<Props> = ({ props }) => (<h1>{name}</h1>)
const SubHeader: ComponentType<Props> = ({ props }) => (<h2>{name}</h2>)
Header.SubHeader = SubHeader // this is causes a flow error due to ComponentType
示例有点人为,但在使用HOC或ComponentType
时,有时需要强制使用styled-components
的手动。
答案 0 :(得分:0)
交叉路口将完成工作:const Header: ComponentType<Props> & { SubHeader: ComponentType<Props> }
。
请注意,SubHeader
不能是Maybe
或可选类型,因为如果您尝试将Maybe
或可选类型作为组件呈现,Flow会抱怨。