2016-07-26 18 views
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> 
    ) 
    } 
} 

答えて

1

。私は個人的にnextPagepreviousPageを使用してページインデックスを増減するアクションを送信し、ページ履歴を管理します。

関連する問題