首页 文章

如何使用Redux时间旅行来处理错误

提问于
浏览
4

我试图弄清楚如何处理React / Redux应用程序中的错误,并发现Redux允许通过不可变状态模式向后遍历状态连续体 . 如果发布失败,同时增加组件的内部重试计数器,并最终发送必要的操作,那么在Redux上及时遍历并不是很疯狂吗?我如何使用react-redux进入以前的状态?

2 回答

  • -1

    您正在寻找的是一种称为“乐观更新”的模式 . 例如,假设网络呼叫成功,您在网络呼叫之前调度操作 . 如果调用失败,则您将调度第二个操作以还原第一个操作 .

    “时间旅行调试”需要使用Redux DevTools . DevTools实际上记录了所有被调度的动作,当你在历史中来回跳转时,将重放到那一点的动作以确定当前状态应该是什么 . 在制作中,没有记录旧动作和旧状态(尽管你可以自己构建一些东西来做那种事情) .

  • 2

    您可以使用redux开发人员工具进行chrome,以获得时间旅行的优秀UI / UX . 继续在Chrome商店中安装redux dev工具 .

    此外,您使用redux dev工具'll need to tell your redux store that you' . 为此,您需要在 createStore() 方法中进行一些调整 .

    看看this repo的描述,看看它的实际效果 .

    请参阅此代码,在redux存储中注入一个开发工具增强器 -

    import { createStore, applyMiddleware, compose } from 'redux';
    import createReducer from './reducers';
    
    const devtools = window.devToolsExtension || (() => noop => noop);
    
    export default function configureStore(initialState = {}, middlewares) {
      const enhancers = [
        applyMiddleware(...middlewares),
        devtools(),
      ];
    
      const store = createStore(
        createReducer(),
        initialState,
        compose(...enhancers)
      );
    
      return store;
    }
    

相关问题