Выполните валидацию сервера, используя redux-форму и Fetch API
Как сделать проверку на стороне сервера, используяперевождь-форма и получить API? Есть "Подтвердить подтверждение«Демонстрация, приведенная в документации, в которой говорится, что рекомендуемый способ проверки на стороне сервера - это вернуть обещание из функции onSubmit. Но где я должен разместить это обещание? Как я понял, функция onSubmit должна быть моим действием.
<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 его поймает, но это не сработает. Как заставить это работать с обещанием отпример?
Также из демо я не могу понять, что должно быть предоставлено в функции this.props.handleSubmit. Демо не объясняет эту часть, как по мне.