我正在尝试在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
但是当我尝试渲染自定义组件流时,会显示此错误:
[流程]无法创建
Component
元素,因为React.Component
[1] 不是React组件。 (参考:[1])
我该怎么做?
答案 0 :(得分:1)
您不能在Flow中使用#Requires -Version 3.0
(Get-ChildItem ".\*XYZ*" -File -Recurse) | ForEach-Object {
$Swap = $_.Replace("XYZ","ABC")
If (Test-Path $Swap){
Rename-Item $Swap -NewName "$Swap.bak"
$_ | Rename-Item -NewName $Swap
Rename-Item "$Swap.bak" -NewName $_.FullName
} else {
$_ | Rename-Item -NewName $Swap
}
}
作为类型定义。 Flow for React中有内置的类型定义。这就是您要寻找的东西:
React.Component
用法示例:
React.ComponentType
在此处阅读有关其他React类型定义的所有信息:https://flow.org/en/docs/react/types/