首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在带有异步调度的redux-thunk中使用redux-thunk

在带有异步调度的redux-thunk中使用redux-thunk
EN

Stack Overflow用户
提问于 2018-04-01 07:14:57
回答 1查看 489关注 0票数 0

我在我的反应本机代码中设置了redux-thunk。

在mapDispatchToProps中,我有:

代码语言:javascript
复制
const mapDispatchToProps = dispatch => {
     return {
         login: (state, navigator) => dispatch({
             type: "USER",
             payload: loginFunc(state, navigator)
          }),
     }'
}

登录函数是一个firebase函数,它返回最终返回我需要的对象的承诺链。

然而,在我的还原器中,我的有效载荷似乎是一个承诺或一些古怪的对象。看上去:

代码语言:javascript
复制
{ 
     a: someVal, 
     b: sommeOtherVal, 
     c: someMoreVal,
     ...ValsUpToI.
     i: {
       // The values I actually need show up
     }

这把我搞砸了,因为当我尝试执行payload.myValue时,undefined处于redux状态。我不认为只做payload.i是不安全的,因为这可能是一些promiseasync问题,对吗?我以后还能做别的什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-01 08:06:41

使用异步操作方法执行剩余文件中提到的基于承诺的函数API调用。

代码语言:javascript
复制
const mapDispatchToProps = dispatch => {
 return {
     login: (state, navigator) => {
         return loginFunc(state, navigator).then(
             response => dispatch({
                 type: "USER",
                 payload: response
             }),
             error => console.log('An error occurred.', error)
        )
     }
 }

这样,您可以调用基于承诺的功能,并正确地利用响应或错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49595715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档