在 React / Redux 中,我尝试使用 redux connect 将 aws-amplify 会话数据映射到道具。
我的问题是,即使我使用 .then 我总是得到一个返回的承诺,结果看起来像这样:
Promise {<resolved>: CognitoUserSession}
__proto__: Promise
[[PromiseStatus]]:"resolved"
[[PromiseValue]]:CognitoUserSession
代码如下。
import { connect } from 'react-redux';
import LoginForm from './LoginForm';
import {Auth} from 'aws-amplify';
export const mapStateToProps = (state) => { return {}; };
export const mapActionsToProps = () => {
const session = Auth.currentSession().then((res) => { return res });
return {
idToken: session,
};
};
export default connect(mapStateToProps, mapActionsToProps)(LoginForm);
我尝试使用 JSON.stringify、Promise.resolve() 等进行解析……但我总是得到承诺。
如果我在 redux 连接器中运行它,或者直接在页面上运行它似乎也没有关系,也尝试过 double 。然后认为它可能是一个包装在一个承诺中的承诺,但事实并非如此。