+ тс. Создаю схему в зоде с вложенными объектами. Ниже упрощенная версия реального кода
const schema = z.object({
name: z.string(),
surname: z.string(),
address: z.object({
street: z.string(),
}),
});
export type FormSchema = z.infer<typeof schema>;
const {
handleSubmit,
formState: { errors, isValid },
control,
} = useForm<FormSchema>({
resolver: zodResolver(schema),
mode: 'onBlur',
});
<Controller control={control} render={({ field: f }) => <input {...f} />} />
Проблема в том, что ТС ругается, говорит что Types of property 'value' are incompatible. говорит что string | { street: string} не может быть равен string. Т.е. он почему то думает, что value может быть объектом, хотя если консолить, то value всегда string. Причем везде в других местах (ресет, сабмит) ТС всё устраивает. Подскажите пожалуйста, в каком месте я сделал что то не так? При создании схемы?
На данный момент приходится value кастовать as string, но конечно это не решение
продублирую здесь)
в приведённом коде нет ни value, ни street
поправил) f в себе содержит onChange, onBlur, value и тд, это из рхф
ошибок нет typescriptlang.org
уточню, проблема возникает только с нестед полями, т.е. до добавления вложенного объекта было ок
в песочнице нет почему-то этого типа import {FieldPath} from 'react-hook-form/dist/types';
Обсуждают сегодня