0
すでにComponentTypeとしてタイプされているコンポーネントに別のコンポーネントを接続する方法はありますか?ComponentTypeに別のコンポーネントを接続するにはどうすればいいですか?
例えば:
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
例は少し不自然であるが、HOCs又はstyled-components
を使用する場合ComponentType
に強制マニュアルが時々必要です。
[交差型を使って 'Header'のタイプを拡張することができますか(https://stackoverflow.com/questions/42582880/flow-create-a-flow-type-by-extending-another-type)? –
ええ、交差点は仕事をするでしょう: 'const Header:ComponentType&{SubHeader ?: ComponentType }' –
うん、これは通常はうまくいくと思うけど、 'styled-components'を使うと' styled() 'すべての交差タイプを拒否します。私は彼らにこれについて何をするべきか尋ねるでしょうが、これは答えられます:)。どちらにも答えたいのですか? –