2016-07-28 28 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實際上會記錄所有分派的動作,並且當您在歷史中來回跳動時,會重播到該點的動作以確定當前狀態應該是什麼。在製作過程中,不會記錄舊行爲和舊狀態(儘管您自己可以自行構建某些內容來完成此類操作)。