远程登录以redux还原器


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
  }
}

i具有以上简化器,使isLoadingFlag成为True。我想知道哪一个命中率,所以我要做的是在reducer中添加远程记录功能。但是很奇怪,这实际上使国家搞砸了吗?因为我看不到我的加载标志不再显示了。

我不明白为什么会发生这种情况,因为所有还原器护理都在返回状态对象,从理论上讲,它也应该工作,即使我们添加远程网络请求也不是吗?

额外信息:

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

我认为您必须从功能初始化中删除async,因为还必须同步还原器。在您的情况下,还原器由于async而返回承诺。

redux的还原器应为纯函数,而不是 async

我认为您正在使用简化器来实现错误的目的。还原器用于描述应根据派遣动作更改应用程序状态。

要进行远程记录,请使用中间件或异步调度库,例如redux-thinkredux-saga

还原功能应为纯函数。您可以在操作和派遣或使用Redux中间件(Redux-thunk)处理异步操作中解决异步操作。

请参阅https://redux.js.org/basics/reducers

在我看来,您应该使用redux-sagas,在那里您可以定义1个传奇,该传说听所有操作或每个动作的1个传奇。尝试。

相关内容

  • 没有找到相关文章

最新更新