Как сохранить ошибки при отправке в форме редукса после переключения с «части» в форме мастера на другую? - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть форма мастера, разделенная на 4 разных маршрута.Пользователь может отправить форму на любом из 4 шагов мастера.

Когда я получаю полевые ошибки от сервера, я помещаю их в хранилище redux с помощью создателя действия stopSubmit (пробовал также использовать setSubmitFailed, ноЯ не понял разницу, которую он сделал).После этой отправки ошибки полей отображаются корректно в каждом поле.

Однако, когда я переключаюсь на любой другой шаг / страницу, действие "@@ redux-form / INITIALIZE" происходит автоматически, и всеОшибки отправки, которые я поставил ранее, удаляются из магазина.

Как их сохранить при переключении маршрутов / форм?

1 Ответ

0 голосов
/ 23 ноября 2018

Полагаю, вы ищете destroyOnUnmount: false.

Укажите флаг destroyOnUnmount: false для сохранения данных формы при размонтировании компонента формы.

export default reduxForm({
  destroyOnUnmount: false
})(Form)

Также вы можете передать forceUnregisterOnUnmount: true, потому что вот что сказано в документации:

Использовать или нет принудительную отмену регистрации полей - используйте вместе с destroyOnUnmount.Полезно для форм типа мастера, где вы хотите уничтожить поля, когда они отключаются, но не состояние формы.По умолчанию используется значение false, поскольку при размонтировании формы обычно не регистрируются.

Вот полный пример , где ошибки хранятся в разных формах (шагах) мастера.

...