【问题标题】:redux-saga TypeError: Cannot read property 'email' of undefinedredux-saga TypeError:无法读取未定义的属性“电子邮件”
【发布时间】:2021-01-04 18:21:59
【问题描述】:

我确信我的代码无法正常工作有一个非常简单的原因,但我已经尝试了解原因几天但一直没有取得进展。

我正在尝试在用户注册后直接登录。对代码本身的任何建议也将不胜感激。

[Actions][1]
[Types][2]
[User Sagas 1][3]
[User Sagas 2][4]
[User Reducer][5]
[Error][6]

1:https://i.stack.imgur.com/hOb0i.png

2:https://i.stack.imgur.com/3heqj.png

3:https://i.stack.imgur.com/pmWiF.png

4:https://i.stack.imgur.com/9FTnA.png

5:https://i.stack.imgur.com/uoGo3.png

6:https://i.stack.imgur.com/GSSsw.png

【问题讨论】:

  • 如果您能说出错误发生在哪个文件和行中会很有帮助
  • 错误是说错误在用户 Sagas 文件中,用户可以注册..但是当我尝试登录时错误开始

标签: reactjs redux react-redux redux-saga


【解决方案1】:

SignInStartSignUpSuccess 中,您需要将电子邮件和密码作为对象传递。 像这样:

export const SignInStart = (email, password) => ({
  type: UserActionTypes.SIGN_IN_START,
  payload: { email, password }
});

因为您的 saga 函数 (signIn),所以期望得到这个形状的有效负载对象:

 const payload = {
     email: 'example'
    password: 'password'
}

【讨论】:

  • 它确实比以前更进一步,但它说电子邮件和密码我们未定义。我是不是通过错了?
  • 能否显示更新后的user.actions.jsuser.sagas.js 文件和Signup 组件提交函数(您在哪里调用SignInStart)?
  • 在您的帮助下我成功了,谢谢!
猜你喜欢
  • 2019-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-04
  • 2021-07-21
  • 2023-03-11
  • 2021-09-06
相关资源
最近更新 更多