Redux-Form v7字段组件打字稿错误

Mar*_*son 5 typescript reactjs redux redux-form

这是我使用Field组件的代码:

    interface EditProfileFormProps extends FormProps {
    	defaults: object;
    	submit: () => {};
    	initialValues: object;
    	roles: object[];
    	specialties: object[];
    }

const EditProfileForm: React.StatelessComponent<EditProfileFormProps> = (props: EditProfileFormProps) => {
	return (
		<Form onSubmit={props.submit}>
		    <div>
		      <Field name="firstName" component={FirstName} type="text" />
		    </div>
		    <div>
		      <Field name="lastName" component={LastName} type="text" />
		    </div>
		    <div>
		      <Field name="role" props={{ roles: props.roles }} component={Role} type="select" />
		    </div>
		</Form>
	);
};

//FirstName.tsx
export const FirstName: React.StatelessComponent<React.InputHTMLAttributes<HTMLInputElement>> = ({
	input,
}: React.InputHTMLAttributes<HTMLInputElement> & WrappedFieldProps) => (
	<FormGroup>
	 <Label for="firstName">First Name</Label>
	 <Input {...input} type="text" name="firstName" id="firstName" />
	</FormGroup>
);
Run Code Online (Sandbox Code Playgroud)

这是我看到的TS错误:

[ts]输入'{name:"firstName"; component:StatelessComponent>; type:...'不能赋值为'(IntrinsicAttributes&IntrinsicClassAttributes>&Readonly <{c ...'.

输入'{name:"firstName"; component:StatelessComponent>; type:...'不能赋值为'IntrinsicAttributes&IntrinsicClassAttributes>&Readonly <{ch ...'.

输入'{name:"firstName"; component:StatelessComponent>; type:...'不能赋值为'Readonly&TextareaHTMLAttributes>'.

属性"组件"的类型不兼容.

类型'StatelessComponent>'不能分配给''input'| "选择"| "textarea"| ComponentClass | StatelessComponent ......".类型'StatelessComponent>'不能分配给'StatelessComponent'类型.输入'React.ReactElement | null'不能赋值为'React.ReactElement | 空值'.存在两种具有此名称的不同类型,但它们是不相关的.类型'ReactElement'不能分配给'ReactElement | 空值'.类型'React.ReactElement'不能分配给'React.ReactElement'.存在两种具有此名称的不同类型,但它们是不相关的.属性"类型"的类型不兼容.输入'string | React.ComponentClass | React.StatelessComponent'不能赋值为'string | React.ComponentClass | React.StatelessComponent".存在两种具有此名称的不同类型,但它们是不相关的.

类型'ComponentClass'不能赋值为'string | ComponentClass | StatelessComponent".

类型'ComponentClass'不能分配给'StatelessComponent'类型.

类型'ComponentClass'不提供签名'(props:any,context?:any):ReactElement | 空值'.

有谁看到我做错了什么?

ses*_*ken 0

不确定这是否是您的问题,但是当我们制作无状态组件时,我们的签名看起来像这样React.SFCnot React.StatelessComponent