0
redux-form's wizard formを使用してウィザードフォームを実装しようとしており、ページ間を移動するときにthis.setState()
を使用することをお勧めします。これは還元行為に逆らっていませんか?私は誰かがこれを店舗に結びつけるのに困ったことがあり、あなたがページナビゲーションを制御するアクションをディスパッチする方が良いと思っているのだろうかと思っていました。ウィザードの例でsetState
の使用は規範的ではなく例示であることを意味するredux形式のウィザードフォームを使用する場合の状態管理
class WizardForm extends Component {
constructor(props) {
super(props)
this.nextPage = this.nextPage.bind(this)
this.previousPage = this.previousPage.bind(this)
this.state = {
page: 1
}
}
nextPage() {
this.setState({ page: this.state.page + 1 })
}
previousPage() {
this.setState({ page: this.state.page - 1 })
}
render() {
const { onSubmit } = this.props
const { page } = this.state
return (<div>
{page === 1 && <WizardFormFirstPage onSubmit={this.nextPage}/>}
{page === 2 && <WizardFormSecondPage previousPage={this.previousPage} onSubmit={this.nextPage}/>}
{page === 3 && <WizardFormThirdPage previousPage={this.previousPage} onSubmit={onSubmit}/>}
</div>
)
}
}