首页 > 解决方案 > 远程登录redux reducer?

问题描述

export default async (state = INITIAL_STATE, action) => {
  switch (action.type) {
//... Many other cases
    CASE 'A':
    CASE 'B':
    CASE 'C':
    CASE 'D':
    CASE 'E':
    {
      //call http request for logging purpose
      return { ...state, isLoadingFlag: true };
    }
   //Yes there is default case
  }
}

我有上面的减速器是isLoadingFlag真的。我想知道是哪一个遇到了这种情况,所以我要做的是,在reducer. 但很奇怪,它实际上搞砸了状态?因为我再也看不到我的加载标志了。

我不明白为什么会发生这种情况,因为所有 reducer 关心都返回一个状态对象,从理论上讲,即使我们在其中添加远程网络请求,它也应该可以工作,不是吗?

额外的信息:

上述设置的原因是因为我的 mac 在 adb 模式下无法检测到华为手机,所以我无法在特定设备上执行调试。

标签: reactjsreact-nativeredux

解决方案


我认为您必须async从函数初始化中删除,因为减速器必须同步。在你的情况下,reducer 返回一个 Promise 因为async.


推荐阅读