当前位置: 首页 > 面试题库 >

React-Redux:动作必须是普通对象。使用自定义中间件进行异步操作

司马萧迟
2023-03-14
问题内容

未处理的拒绝(错误):动作必须是普通对象。使用自定义中间件进行异步操作。

我想在每个帖子中添加评论。因此,当获取帖子运行时,我想为所有帖子调用获取评论API。

export function bindComments(postId) {
  return API.fetchComments(postId).then(comments => {
    return {
      type: BIND_COMMENTS,
      comments,
      postId
    }
  })
}

问题答案:

您必须在异步请求结束后分派。

这将工作:

export function bindComments(postId) {
    return function(dispatch) {
        return API.fetchComments(postId).then(comments => {
            // dispatch
            dispatch({
                type: BIND_COMMENTS,
                comments,
                postId
            });
        });
    };
}


 类似资料:
  • 我正在尝试将async await与redux thunk中间件一起使用,但我得到了红屏,错误操作必须是普通对象。使用自定义中间件进行异步操作。我想我没有返回正确类型的值。我按下按钮将twitter用户链接到现有的firebase帐户。该按钮到达一个名为toggleTwitterAuthState的函数: 它调用函数link Twitter帐户,我使用的反应本地调试器把一个断点返回异步(调度)和它

  • 我正在基于Dan Abramov对这个问题的解决方案构建一个基于Redux的模型/对话框触发器:Dan Abramov的解决方案 我得到的错误是“Connect(ModalRoot)中的MapStateTops()必须返回一个普通对象,而不是未定义的接收。”

  • 这是我的代码(简单但有效),它是一个计算引擎,通过按特定顺序应用规则进行试验: 我想用自定义注释对此进行编码,因为我的目标是统计哪些引擎调用哪些规则,我认为这会更容易: 然后我可以用org扫描。springframework。上下文注释。ClassPathScanningCandidateCom使统计更容易。 这可能吗(怎么可能?)?这是好办法吗?我还有别的办法吗?

  • 考虑以下情况: 当用户导航到页面时,将调度两个异步Redux操作以并行获取两组相关数据。如果这些获取中的任何一个失败,组件将检测到它,它将在下一个周期中呈现错误组件,而下一个周期又在装载时分派操作。 但是,其他行动仍有待解决/拒绝,将破坏清洁状态。目标是在调用action creator时,中断此(最好是许多其他)挂起的异步操作。好吧,不管发生什么,未决promise都应该以任何方式解决/回应。

  • 使用spray时,我一直遇到相同的设计问题,即在Akka中执行一些异步(tell)操作之后,如何为请求找到spray http请求的原始上下文。 我使用的是Net-a-Porter actor per request模型。它创建了一个子执行元,我指定该子执行元来处理每个请求,该子执行元由另一个包含正确请求上下文的执行元进行封装。

  • 问题内容: 我正在尝试将Redux集成到我的React项目中。目前,我没有使用任何Flux框架。 我的应用程序从API获取一些数据,并以一种漂亮的方式显示它们,如下所示: 在阅读有关Redux的文章时,我确定了两种可用于处理将成功数据存储在商店中的方法: 使用异步中间件,或 从ajax函数的成功回调中分派动作 但是我不确定哪种方法更好。 回调中的分派操作听起来很容易实现和理解,而异步中间件则很难向