2017年10月1日 作成2017年10月29日 更新
redux-formでサーバーサイドのバリデーションを実装している時に、promissをいじってredux-formのSubmissionError
を投げていたらUncaught (in promise) error
と怒られた話です。
return
がなかっただけでした。
修正前
class Categories extends Component {
onSubmit(props) {
const {createCategory, fetchCategories, reset} = this.props;
createCategory(props).then((res) => {
if (res.error) {
console.log('error');
throw new SubmissionError({name: 'User does not exist', _error: 'Login failed!'});
} else {
console.log('success');
reset();
fetchCategories();
}
});
}
// 以下色々省略
}
修正後
class Categories extends Component {
onSubmit(props) {
const {createCategory, fetchCategories, reset} = this.props;
return createCategory(props).then((res) => {
if (res.error) {
console.log('error');
throw new SubmissionError({name: 'User does not exist', _error: 'Login failed!'});
} else {
console.log('success');
reset();
fetchCategories();
}
});
}
// 以下色々省略
}
jsむずい。promissまだ良くわかっていない。(コールバックを楽にするためのもの程度の認識。。。)
Laravel×ReactでSPAつくっているよーという方、ぜひLara Cafe にご参加ください!(助けてぇ)
Redux Form -Submit Validation Example throw new SubmissionError() causing Uncaught (in promise) error
関連書籍