Das einbetten der gleichen redux-form mehrmals auf einer Seite?
Ich habe ein Problem versucht einbetten, mehrere Formulare auf einer Seite. Ich bemerkte configForm
einmal ausgeführt, auch mit mehreren Formularen auf der Seite, das ist, warum ich kann nicht dynamisch erzeugen unterschiedliche form-Namen.
Abbildung zeigt mehrere Textfelder miteinander verbunden.
function configForm(){
const uuid = UUID.generate();
const config = {
form:`AddCardForm_${uuid}`,
fields:['text'],
validate:validate
}
return config;
}
export default reduxForm(configForm(), mapStateToProps, {togglePanelEditMode, addCardToPanel})(CardFormContainer);
Wie kann ich die Formulare so, dass sich diese unabhängig voneinander?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es gibt zwei Möglichkeiten zum einbetten der gleichen form mehrmals auf die Seite.
1. Mit
formKey
(Redux Form 5)formKey
ist der offizielle Weg, dies zu tun, wenn mitredux-form@5
(oder unten). Sie müssen übergeben Sie die Schlüssel von den Eltern zu identifizieren, form:Ihre form definition wäre:
Jedoch dieses Muster wurde entfernt
redux-form@6
.2. Mit einer einzigartigen
form
name (Redux Form 5 und höher)Dem folgenden Muster ist die empfohlene Methode zur Identifizierung von Formen seit Redux Form 6. Es ist voll kompatibel mit vorherigen Versionen.
Ihre form definition wäre:
form
: der name des Formulars und der Schlüssel zu, wo Sie Ihre form den Staat wird montiert werden unter der redux-form reducer. Da Sie nicht wollen, zu teilen die gleichen Daten, das ist der Weg zu gehen. Siehe github.com/erikras/redux-form/issues/...form
nur in derreduxForm({form:'blah'})(MyFormComponent)
Linie. Absolut mich getötet. Wie kommen Sie auf diese nicht dokumentiert. Und warum einmal die Mühe, Sie dokumentieren den schlechten Weg. Reagieren ist über wiederverwendbare Komponenten, die form ist wiederverwendbar, aber mitreduxForm({form:'blah'})()
Methode wird es nicht wieder richtig? So irreführend - redux-form.com/7.0.3/docs/api/ReduxForm.md/... - es sollte beachten Sie die conseuqnece keine reusabilty