Здесь я вижу два способа:
1: Использовать response-router-redux;
Ваши маршруты могут быть такими /form/step1
и после отправки формы make dispatch(push('/form/step2'))
, не забудьте создать и применить routerMiddleWare
с history
.
2
Используйте глобальное состояние для «stepper» или передавайте его в качестве реквизита; Представьте себе ваше глобальное состояние:
{currentStep: 1, validate: {form1: true, form2: false, ...}}
Вам необходимо управлять глобальным состоянием «шагового», используя приставку, или получить его, передавая реквизит из компонента <Stepper currentStep={this.props.currentStep}/>
.
Было бы намного проще контролировать и понимать все в вашем приложении, если бы оно разбивалось на такие компоненты:
render(){
return (
<div>
<Stepper currentStep={this.props.currentStep}/>
<Forms currentStep={this.props.currentStep} onSubmit={handleSumbitAndStepSwitching}/>
</div>
)
};
А в <Forms />
вы можете сделать Switch-Case для контроля фактической визуализации формы.