Заменяет ли SubmissionError из избыточной формы все ошибки тем, что вы передаете? - PullRequest
0 голосов
/ 08 октября 2019

У меня многоэтапная форма. На шаге есть кнопка «Далее», которая запускает метод nextStep. В этом nextStep я использую этот код, чтобы контролировать, следует ли мне выбрасывать ошибки или переходить на следующую страницу.

      case (currentStep === 0 && isValueSet(formErrors.firstStep)):
        setError(formErrors.firstStep);
        break;


      case (currentStep === 1 && isValueSet(formErrors.secondStep)):
        setError(formErrors.secondStep);
        break;

      case (currentStep === 2 && isValueSet(formErrors.thirdStep)):
        setError(formErrors.thirdStep);
        break;

      default:
        this.setCurrentStep(currentStep + 1);

setError(...) это просто throw new SubmissionError, что я передаю throw mapDispatchToProps:

const mapDispatchToProps = dispatch => ({
  setError: errors => {
    throw new SubmissionError(errors);
  }
});

Иногда, когда вы открываете форму, на некоторых шагах уже есть ошибки. Однако, как только я неправильно заполню шаг и нажму «Далее», на шаге, который я сейчас использую, будут выделены его ошибки, и ошибки на всех других шагах исчезнут.

Итак, вот мой вопрос: SubmissionError полностью переписывает свой внутренний "объект ошибки" с тем, что я передаю, без расширения или слияния?

Есть ли способ исправить это поведение? То есть обновить только некоторые поля или как-то использовать оператор распространения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...