TypeScriptでコンパイルするReact.createElementを取得できません。TypeScript/JSXのReact.createElementの正しい構文
interface IColorPickerProps {
}
interface IColorPickerState {
}
class ColorPicker extends React.Component<IColorPickerProps, IColorPickerState> {
constructor(props: IColorPickerProps) {
super(props);
}
}
コンポーネントの作成:
let props: any = {}
React.createElement(ColorPicker, props)
私はこのコンパイルエラーを取得する:私は、コンストラクタを削除した場合
Argument of type 'typeof ColorPicker' is not assignable to parameter of type 'string | ComponentClass<IColorPickerProps> | StatelessComponent<IColorPickerProps>'.
Type 'typeof ColorPicker' is not assignable to type 'StatelessComponent<IColorPickerProps>'.
Type 'typeof ColorPicker' provides no match for the signature '(props: IColorPickerProps & { children?: ReactNode; }, context?: any): ReactElement<any> | null'.
、エラーが表示されなくなります。私は小道具が動的に渡される必要があるので、構文を使用することはできません。何か案は?
'React.createElement(ColorPicker、props)'なぜ ' 'だけでいいのですか? –
Propsは、ColorPickerを作成するクラスのパラメータとして動的に渡されるためです。 ' ' React.createElement(ColorPicker、props) 'はコンパイル時間のチェックを失います。 –
sixtstorm1