Как сделать проверку на стороне сервера с помощью redux-form и Fetch API? В документах содержится Submit Validation", в которой говорится, что рекомендуемый способ проверки на стороне сервера - это возврат обещания от функции onSubmit. Но где я должен поместить это обещание? Как я понял, функция Submit должна быть моим действием.
<form onSubmit={this.props.addWidget}>...
Где this.props.addWidget - это действительно мое действие, представленное ниже.
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));
}
}
Как вы видите, я использую API-интерфейс fetch. Я ожидал, что выборка вернет обещание, а redux-form поймает его, но это не сработает. Как заставить его работать с обещанием от example?
Также из демонстрации я не могу понять, что должно быть предусмотрено в этой функции .props.handleSubmit. Демонстрация не объясняет эту часть, как для меня.