Как использовать yup с формой реагирующего крючка?

Я пытаюсь написать обработку ошибок в форме перехвата реакции с помощью yup, но когда я хочу передать преобразователь, как говорится в документации (https://www.npmjs.com/package/@hookform/resolvers) Я получаю эту ошибку:

SyntaxError: невозможно использовать оператор импорта вне модуля

module.exports = require (@ hookform / resolvers / yup);

Моя схема проверки:

const schema = Yup.object().shape({
  person: Yup.string()
    .min(3, "To pole jest za krótkie")
    .max(30, "To pole jest za długie")
    .required("To pole jest wymagane"),
});

Форма крючка React:

const {
    register,
    errors,
    handleSubmit,
    formState: { isSubmitting },
  } = useForm({ resolver: yupResolver(schema) });

Импорт:

import { useForm } from "react-hook-form";
import { yupResolver } from '@hookform/resolvers/yup';
import * as Yup from "yup";

Версия npm:

"react-hook-form": "^6.15.1",
"yup": "^0.28.3"
"@hookform/resolvers": "^1.3.4",

person Freestyle09    schedule 13.02.2021    source источник


Ответы (1)


Это ошибка в react-hook-form. https://github.com/react-hook-form/resolvers/issues/107

Единственное исправление на сегодняшний день, если вы используете response-hook-form v6, - это понизить @hookform/resolvers до 1.3.0 или использовать бета-версию 2.0.0-beta.3. Более новые версии поддерживают только форму реакции-крючка v7.

person srflp    schedule 10.03.2021