Ich bin neu zu Reagieren und haben eine mehrstufige Profilerstellungsform. Ich habe nach einem optimalen Anwendungsfall für SessionStorage gesucht, aber niemand scheint auf die eine oder andere Weise sehr leidenschaftlich zu sein. Zur Zeit habe ich die Form eine Hauptkomponente ist:Multistep Formular mit SessionStorage reagieren
render() {
switch (this.state.step) {
case 2:
return <Step nextStep={this.nextStep} prevStep={this.prevStep} /.
case 3:
return <Step nextStep={this.nextStep} prevStep={this.prevStep} />
case 4:
return <Step nextStep={this.nextStep} prevStep={this.prevStep} />
case 5:
return <Step nextStep={this.nextStep} prevStep={this.prevStep} />
default:
return <Step nextStep={this.nextStep} />
}
}
Jeder dieser Schritte hat mehrere Eingabefelder und ich frage mich, ob es eine schlechte Praxis, diese Werte in session in ihrer Komponente (oder local) anstatt Zustand zu speichern war oder einen redux Store und sende sie an das Backend, sobald alle Felder gesammelt wurden.
Es wäre nett, persistent zu sein über Aktualisierungen (obwohl nicht benötigt). Es ist hauptsächlich so, dass es in diesem Fall viel schneller von einer Lösung geht (fügen Sie einfach die Werte bei jedem Klick auf eine nächste Schaltfläche zum sessionStorage hinzu), aber wenn dies Sicherheitslücken/schlechten Code einführt, werde ich die längere Lösung verwenden ein Redux-Geschäft. – mikeg542
Auf lange Sicht denke ich, dass es nicht schneller sein wird. Die Verwendung von Redux - oder etwas Ähnlichem - ist eine (besser) strukturierte und deterministische Methode zur Verwaltung Ihres Anwendungsstatus. Und es erlaubt Ihnen immer noch, es z. lokalen Speicher usw., später, wenn Sie feststellen, dass Sie es wirklich brauchen. Wenn Sie nur schnell und schmutzig wollen, gibt es keinen Grund, Session-LocalStorage überhaupt zu verwenden. Sie könnten Ihren Status einfach in einem globalen Objekt behalten. –
Also die allgemeine Antwort ist, es ist nicht schlecht persay, aber es ist es definitiv wert, die Zeit zu verbringen, um es richtig mit redux von Anfang an zu tun. Habe ich, danke! – mikeg542