0
我使用immutable.js
來保持我的應用程序狀態。它是由多重合成減速,這是不可改變的地圖,如:保持較大的請求狀態爲
const initialState = new Map({
data: null,
page: 1,
...
});
所以,我有我需要獲取的請求響應,保存的地方,得到的數據,並更新狀態,每當一些網頁上的變化。
現在的問題是 - 我在哪裏保持原始請求響應在REDX?
比方說,我想保持它的狀態。我嘗試了以下方法:
case FETCH_RESPONSE:
return state.merge({
rawRequestResponse: action.response // very slow, deep conversion to Immutable
})
case FETCH_RESPONSE:
return state.set({
rawRequestResponse: action.response // also slow, it's converted to Immutable, though not deeply
})
case FETCH_RESPONSE:
return new Map({
rawRequestResponse: action.response, // just like above
...
})
但是它們都太慢了。什麼是最好的方法來做到這一點?
是原始請求一個真正的需要你的狀態的一部分?重新考慮它是否真的需要在Redux商店內生活。無論如何,它有多大?如果您正在處理大量集合,那麼可以考慮在API中添加分頁並在客戶端上緩存集合實體。 – VanDanic