Мне не удается сбросить мою форму реакции на редукцию, которая разделена на 3 разные формы/страницы. Это форма мастера, и я безуспешно пытался сбросить ее разными способами.
Я использовал эти 2 ресурса: Как создать форму мастера: https://redux-form.com/8.3.0/examples/wizard/ Как сбросить форму: https://redux-form.com/6.0.0-alpha.4/docs/faq/howtoclear.md/
Однако теперь мне кажется ясным, что это отчасти невозможно сделать.
У меня есть 3 страницы: WizardForm.jsx
<div className="wizard__form-wrapper">
{page === 1
&& (
<WizardFormOne
onSubmit={this.nextPage}
initialValues={initialValues}
/>
)}
{page === 2
&& (
<WizardFormTwo
previousPage={this.previousPage}
onSubmit={this.nextPage}
/>
)}
{page === 3
&& (
<WizardFormThree
previousPage={this.previousPage}
onSubmit={values => onSubmit(values)}
/>
)}
</div>
и в каждой форме я экспортирую свою форму так: WizardFormOne.jsx
export default reduxForm({
form: 'wizard', // <------ same form name
destroyOnUnmount: false, // <------ preserve form data
forceUnregisterOnUnmount: true, // <------ unregister fields on unmount
validate,
})(WizardFormOne);
Форма работает отлично, но я не могу ее сбросить. Я пробовал все 4 варианта, описанные в ссылке выше. Например, в моем WizardForm.jsx я делаю:
componentWillUnmount() {
const { dispatch } = this.props;
dispatch(reset('wizard'));
}
Но ничего не происходит, и моя форма не очищается.
Любая помощь горячо приветствуется. Спасибо.