首页 > 解决方案 > TypeError:user.sendMFACode 不是函数 - Redux Saga 和 AWS Amplify

问题描述

使用:aws-amplify 0.3.3、aws-amplify-react-native 0.2.9.、redux-saga 0.15.6

在调用Auth.confirmSignIn使用 redux-saga 时:

let confirmedUserData = yield call([Auth, Auth.confirmSignIn], userObj, authCode, 'SMS');

收到以下错误: “TypeError:user.sendMFACode 不是函数”

来自的响应对象Auth.signIn如下:https ://d.pr/AX6IQI 。这个响应对象是Auth.confirmSignIn作为用户对象传递的。在查看响应对象时,没有sendMFACode功能。此外,看到以下内容:https://d.pr/i/gmzi0E在整个响应对象中多次存在:

“TypeError:'caller'、'callee' 和 'arguments' 属性可能无法在严格模式函数或调用它们的参数对象上访问”

我不确定上面的错误是否与“TypeError:user.sendMFACode 不是函数”错误有关,因为我不确定sendMFACode它应该在哪里。

Auth.confirmSignIn函数如下所示:https ://gist.github.com/grgaortiz/9a9dacefe1deca932396beea34ebebf2 。您可以看到它试图sendMFACode从响应“用户”对象调用该函数。

有一个已关闭的 github 问题,但解决方案是将 redux-saga 换成 redux-thunk,这并没有真正解决问题。

标签: redux-sagaaws-cognitoaws-amplify

解决方案


推荐阅读