2016-07-26 13 views
0

Ich bin dabei, ein Assistentenformular unter Verwendung von redux-form's wizard form zu implementieren, und ich habe festgestellt, dass sie this.setState() empfehlen, wenn Sie zwischen den Seiten wechseln (siehe unten). Geht das nicht gegen Redox-Praktiken? Ich habe mich gefragt, ob jemand Probleme hatte, dies mit dem Laden zu verknüpfen, und ich denke, dass es besser wäre, Aktionen zur Steuerung der Seitennavigation zu versenden.Statusverwaltung bei Verwendung des Redux-Formular-Assistentenformulars

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> 
    ) 
    } 
} 

Antwort

1

Die Verwendung von setState im Assistenten Beispiel ist illustrativ gemeint, nicht normativ. Ich persönlich verwende nextPage und previousPage, um Aktionen auszuführen, die den Seitenindex erhöhen/verringern sowie den Seitenverlauf verwalten.

Verwandte Themen