Я пытаюсь использовать поток в компоненте Button React.
// @flow
import * as React from 'react'
type Props = {
color: string,
block: boolean,
component: React.Component<*> | string,
className: string,
domProps: Object
}
const Button = ({
color,
block,
component,
className,
...domProps
}: Props) => {
const Component = component
return (
<Component
{...domProps}
className = {`
${className}
btn
btn--${color}
${block ? 'btn--block' : ''}
`}
/>
)
}
Button.defaultProps = {
component: 'button',
block: false
}
export default Button
Но когда я пытаюсь визуализировать настраиваемый поток компонентов, отображается эта ошибка:
[flow] Cannot create
Componentelement becauseReact.Component[1] is not a React component. (References: [1])
Как мне выполнить эту работу?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы не можете использовать React.Component в качестве определения типа в Flow. В Flow for React есть встроенные определения типов. Вот что вы ищете:
React.ComponentType
Пример использования:
type Props = {
color: string,
block: boolean,
component: React.ComponentType<*> | string,
className: string,
domProps: Object
}
Прочтите все о других определениях типов React здесь: https://flow.org/en/docs/react/types/