Server-Validierung mit Redux-Form und Fetch API durchführen
Wie man eine serverseitige Validierung mit @ durchfüh redux-form und Fetch API? Es gibt "Submit Validation "Die in den Dokumenten bereitgestellte Demo besagt, dass es die empfohlene Methode zur serverseitigen Validierung ist, ein Versprechen von der onSubmit-Funktion zurückzugeben. Aber wo soll ich dieses Versprechen platzieren? Wie ich verstanden habe, sollte die onSubmit-Funktion meine Aktion sein.
<form onSubmit={this.props.addWidget}>...
Wo this.props.addWidget eigentlich meine Aktion ist, sehen Sie unten.
import fetch from 'isomorphic-fetch';
...
function fetchAddWidget(widget, workspace) {
return dispatch => {
dispatch(requestAddWidget(widget, workspace));
return fetch.post(`/service/workspace/${workspace}/widget`, widget)
.then(parseJSON)
.then(json => {
dispatch(successAddWidget(json, workspace));
DataManager.handleSubscribes(json);
})
.catch(error => popupErrorMessages(error));
}
}
export function addWidget(data, workspace) {
return (dispatch, getState) => {
return dispatch(fetchAddWidget(data, workspace));
}
}
Wie Sie sehen, verwende ich Fetch API. Ich habe erwartet, dass fetch ein Versprechen zurückgibt und redux-form es fängt, aber das funktioniert nicht. Wie es funktioniert mit Versprechen vonBeispie?
Auch aus der Demo kann ich nicht nachvollziehen, was in dieser.props.handleSubmit-Funktion vorgesehen sein soll. Demo erklärt diesen Teil nicht, wie für mich.