Aquí hay un enlace a Typescript Playground que muestra el problema.
import { ChangeEvent } from "react" import { Control, useController } from "react-hook-form" export interface RequiredEditorProps<Value> { onChange: (event?: ChangeEvent | Value) => void onBlur: () => void name: string value: Value } type Props<Value, EditorProps extends RequiredEditorProps<Value>> = Omit< EditorProps, "onChange" | "onBlur" | "name" | "value" > & { Editor: (props: EditorProps) => JSX.Element control: Control fieldName: string initialValue: Value } export const RHFAdapter = <Value extends any, EditorProps extends RequiredEditorProps<Value>>({ Editor, control, fieldName, initialValue, ...editorProps }: Props<Value, EditorProps>) => { const { field: { onChange, onBlur, name, value }, // fieldState: { invalid, isTouched, isDirty }, // formState: { touchedFields, dirtyFields } } = useController({ name: fieldName, control, defaultValue: initialValue, }) return <Editor onChange={onChange} onBlur={onBlur} name={name} value={value} {...editorProps} /> } Básicamente, se queja del procesamiento del Editor porque los accesorios de distribución pueden ser un subtipo diferente de la restricción RequiredEditorProps . Esta es definitivamente una parte de TS que me resulta difícil de entender. Me parece que cualquier propiedad adicional de EditorProps se extendería a ...editorProps y luego al renderizado, por lo que realmente no entiendo cuál es el problema.