我需要将数组中的数据保存到Saga(redux-saga)。 但是我有一个数组需要保持其顺序。
我在传递“文本”和“ ID”的操作中添加了一个新项目,之后我需要放置一个新项目。 以及化简器,它结合了索引之前的数组的第一部分+新元素+索引之后的数组的第二部分。
如果将数组组合到精简器中并且saga是中间件并且在精简器之前被调用,如何将其保存在saga的本地存储中?
(在Saga中保存是必要的,这是一个先决条件,我知道这可以通过使用订户的来完成)
这个想法是我可以在Saga中合并并保存数组,但是reducer不会做任何事情,我将在中间件中转移处理状态 不太好 我需要用传奇写些什么?
reducer.js
switch (action.type) {
case ADD_NEW_ELEMENT:
return [
...state.slice(0, action.afterIndex + 1),
action.text,
...state.slice(action.afterIndex + 1)
];
default:
return state;
}
action.js
return {
type: ADD_NEW_ELEMENT,
text,
afterIndex
};
答案 0 :(得分:0)
通常在这种情况下,Redux Persist是一个很好的解决方案, https://github.com/rt2zz/redux-persist, https://www.npmjs.com/package/redux-persist,
您选择所需的reducer,然后redux-persist为您保存并从localstorage加载它:)