import React, { useEffect } from 'react'; import { useForm } from 'react-hook-form'; import * as yup from 'yup'; import { yupResolver } from '@hookform/resolvers/yup'; import I18n from '../../i18n'; import { ControlledFormTextInput } from '../../containers/TextInput'; import { regExpImageType } from '../../lib/methods/helpers'; const schema = yup.object().shape({ avatarUrl: yup.string().url().matches(regExpImageType).required() }); interface ISubmit { avatarUrl: string; } const AvatarUrl = ({ submit }: { submit: (value: string) => void }) => { const { control, formState: { isValid }, getValues } = useForm({ mode: 'onChange', resolver: yupResolver(schema) }); useEffect(() => { if (isValid) { const { avatarUrl } = getValues(); submit(avatarUrl); } else { submit(''); } }, [isValid]); return ( ); }; export default AvatarUrl;