朋友。
我遇到了一个问题。
我有这行代码
var methodToQueue = {
afterOffline: ƒ afterOffline(data)
dependsOnNetworkStatus: true
offline: ƒ offline(data)
online: ƒ online()
}

它是一个对象,如果某些redux操作脱机执行,它将动态更改。我希望将它存储在我的redux商店中 -
store.dispatch({ type: 'ADD_TO_ACTION_QUEUE', payload: methodToQueue.afterOffline });
减速机看起来像这样 -
const initialState = {
functionsQueue: []
};
const reducer = (state = initialState, action) => {
switch (action.type) {
case 'ADD_TO_ACTION_QUEUE':
return Object.assign({}, state, {
functionsQueue: state.functionsQueue.concat([action.payload])
});
default:
return state;
}
}

但它不想保存存储它的方法保存null
。即使我尝试使用JSON.stringify()
并存储所有对象,它也只保存没有任何逻辑的属性。
{ type: 'ADD_TO_ACTION_QUEUE', payload: JSON.stringify(methodToQueue) }
- 仅保存dependsOnNetworkStatus: true
。
您是否知道如何在执行后将某些功能保存到redux存储中?它也可能是localStorage。
先谢谢你!
答案 0 :(得分:1)
Redux商店用于保留状态。状态可以是字符串,数字,字符串和数字的数组以及不函数'对象。
如果您想存储功能,请处理其名称,因为功能名称是一个字符串。然后,在另一层(中间件)中,捕获该名称并通过反射调用相关函数。