我正在将 firebase 与电子邮件+密码身份验证提供商一起使用。正确的凭据情况可以按预期工作。我的问题是,如果凭据错误,则会捕获错误,但我不知道如何传回此信息。
我正在将 redux store 的调度与mapDispatchToProps
.
const mapDispatchToProps = (dispatch) => ({
startLogin: (email, password) => dispatch(startLogin(email, password))
});
然后,我只需使用组件中的凭据调用此操作,如果返回未定义(引发错误),我会设置错误。
startLogin(email, password).then((data) => {
if (!data) {
setErrors({ login: 'Wrong credentials' });
}
});
我的动作是这样的。
export const startLogin = (email, password) => {
return firebase.auth().signInWithEmailAndPassword(email, password).catch((err) => {
console.log(err);
});
};
这是可行的,但控制台显示 POST 400 错误,我想避免这种情况。
您无法避免将该错误记录到控制台中,因为:
1) 此 HTTP 请求是 Firebase 身份验证验证用户凭据的方式。因此,库实际上会发布凭据,如果它们不好,那么服务器会以该状态进行响应。
进而...
2) 您的浏览器决定将错误请求记录到日志中。Firebase 会打包错误供您处理,但此时浏览器已将其记录到控制台中,这是您无法阻止的。
如果您可以控制 API,您可能希望始终返回带有一些自定义错误处理逻辑的 200 代码,但在这种情况下,您应该考虑与它和平相处:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)