在我的React Native应用程序中,我只是登录用户或创建帐户,但即使用户成功登录或成功添加到数据库,我的登录和注册功能的catch块也会始终执行。这意味着成功块(然后)和catch块都背靠背执行。
除了catch块错误之外,我还看到一些黄色框警告,说我的JS相对于TextInput组件太慢了。我不知道这些是否与catch块问题有关。
这个bug也影响了其他人,但我还没有听说过有人找到解决方案。我已经在邮递员中测试了我的登录和注册路线,他们按预期工作,没有问题。
以下是登录和注册操作创建者:
登录:
export const loginUser = ({ email, password }) => {
const props = { email, password };
return (dispatch) => {
// notifies REDUX store that an ajax request is in progress
dispatch({ type: types.LOGIN_USER_START });
axios.post('http://localhost:3000/signin', props)
.then(user => loginUserSuccess(dispatch, user))
.catch(() => loginUserFail(dispatch));
};
};
注册:
export const signupUser = ({ email, password }) => {
const props = { email, password };
return (dispatch) => {
// notifies REDUX store that an ajax request is in progress
dispatch({ type: types.SIGNUP_USER_START });
axios.post('http://localhost:3000/signup', props)
.then(user => signupUserSuccess(dispatch, user))
.catch(() => {
signupUserFailed(dispatch);
});
};
};
答案 0 :(得分:0)
您的错误发生在loginUserSuccess
的某处。我应该使用catch(()=>
而不是catch((err)=>
而是对错误执行某些操作,例如console.log(err.stack)
,然后您就会确切地知道