2016-07-28 31 views
4

我想弄清楚如何处理React/Redux应用程序中的错误,并发现Redux允许由于不可变状态模式而向后遍历状态连续区。如果发布失败,同时递增组件的内部重试计数器并最终发送必要的操作,是否在Redux上及时遍历回溯是疯狂的想法?我将如何进入以前的状态与react-redux?如何使用Redux时间旅行来处理错误

回答

-1

您可以使用用于chrome的redux开发工具来利用时间旅行的良好UI/UX。继续并在Chrome商店中安装redux开发工具。

另外,您需要告诉您的redux商店您正在使用redux开发工具。为此,您需要对createStore()方法进行一些调整。

看看this repo的描述,看看它在行动。

请参见该代码注入你的终极版的一个开发工具增强store-

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

什么你要找的是一个名为“乐观更新”的格局。例如,在网络调用成功的假设下,您会在网络调用之前发送操作。如果通话失败,则您会派遣第二个操作来恢复第一个操作。

“时间旅行调试”需要使用Redux DevTools。 DevTools实际上会记录所有分派的动作,并且当您在历史中来回跳动时,会重播到该点的动作以确定当前状态应该是什么。在制作过程中,不会记录旧行为和旧状态(尽管您自己可以自行构建某些内容来完成此类操作)。