【发布时间】:2019-12-04 21:22:05
【问题描述】:
有没有办法从 redux 连接函数中的已解析承诺返回一个普通对象?
const resolveStateFunction = (state) =>{
return Promise.resolve(state);
}
const mapStateToProps = async (state)=>{
const resolvedState = await resolveStateFunction(state);
return resolvedState;
}
const mapDispatchToProps = () => {
return { apiResponse: apiResponse };
};
export default connect(mapStateToProps, mapDispatchToProps)(SchoolTemp);
resolvedState 变量返回一个已解析的对象值,但随后我收到一条错误消息,提示
Connect(SchoolTemp) 中的 mapStateToProps() 必须返回一个普通的 目的。而是收到了 [object Promise]。
【问题讨论】:
-
async函数返回一个承诺,这就是您收到该错误的原因。通常在使用 Redux 处理异步内容时,会有一些初始/默认状态。然后像 Promise 这样的异步东西可以在准备好数据时使用操作更新状态。 -
这可能对Async Flow有帮助
标签: reactjs redux react-redux