polyak-888
@polyak-888
Js, React.js, css, frontend

Как заставить работать react-hook-form?

есть компонент который возвращает стилизованный TextField от react-material ui
...
 return (
        <>
            <TextField
                name={name}
                label={label}
                type={type === 'password' ? showPassword ? 'text' : 'password' : type}
                variant="filled"
                onChange={onChange}
                InputProps={inputProps}
                InputLabelProps={{
                    classes: {
                        root: classes.vp_label,
                    }
                }}
                classes={{
                    root: classes.vp_root
                }}
                inputRef={register({ required: true })}
            />
        </>
    )


данный компонент импортируется в форму где, собственно говоря я пытаюсь прикрутить валидацию от react hook form
import React, { useState, useContext }      from 'react';
import Field                                from '../../UI/TextField/Field';
import { useForm }                          from 'react-hook-form'

const LoginForm = () => {
    const classes = useStyles();
    const { register, handleSubmit, errors } = useForm();

    const [state, setState] = useState({
        email: '',
        password: '',
        rememberMe: false
    });

    const changeHandler = (event) => {
        setState({
            ...state,
            [event.target.name]: event.target.value
        })
    };

    const onSubmitHandler = (data) => {
        console.log(data)
        console.log(errors)
       };

    return (
        <form onSubmit={ handleSubmit(onSubmitHandler) }>
            <h3 className={classes.formHeading}>Авторизация</h3>
            <div className={classes.mb8}>
                <Field
                    type={'email'}
                    label={'Эл. почта'}
                    name={'email'}
                    onChange={changeHandler}
                    register={register}
                />
            </div>
          
            <Button
                variant="contained"
                className={classes.buttonEnter}
                disableElevation
                onClick={onSubmitHandler}
            >
                Войти
            </Button>
        </form>
    )
};


Проблема в том что объект ошибок всегда приходит пустой а data возвращает какой-то экземпляр класса.

5ef123ca09792704486853.png
Что я сделал не так?
  • Вопрос задан
  • 783 просмотра
Пригласить эксперта
Ответы на вопрос 1
@xuryrg2034
В доке есть пример как делать интеграцию с ui либами https://react-hook-form.com/get-started#Integratin...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы