diff --git a/src/Field.tsx b/src/Field.tsx index 02da8263..5366913f 100644 --- a/src/Field.tsx +++ b/src/Field.tsx @@ -98,10 +98,8 @@ export interface InternalFieldProps { fieldContext?: InternalFormInstance; } -export interface FieldProps extends Omit< - InternalFieldProps, - 'name' | 'fieldContext' -> { +export interface FieldProps + extends Omit, 'name' | 'fieldContext'> { name?: NamePath; } @@ -110,7 +108,7 @@ export interface FieldState { } // We use Class instead of Hooks here since it will cost much code by using Hooks. -class Field extends React.Component implements FieldEntity { +class Field extends React.PureComponent implements FieldEntity { public static contextType = FieldContext; public state = { diff --git a/src/Form.tsx b/src/Form.tsx index 6bc5c358..a07920d7 100644 --- a/src/Form.tsx +++ b/src/Form.tsx @@ -24,7 +24,7 @@ export interface FormProps extends BaseFormProps { form?: FormInstance; children?: RenderProps | React.ReactNode; // eslint-disable-next-line @typescript-eslint/no-explicit-any - component?: false | string | React.FC | React.ComponentClass; + component?: false | string | React.ComponentType; fields?: FieldData[]; name?: string; validateMessages?: ValidateMessages;