如何在Saga中将数据保存在本地存储中?

时间:2019-07-09 16:54:57

标签: javascript reactjs redux redux-saga

我需要将数组中的数据保存到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
       };

1 个答案:

答案 0 :(得分:0)

通常在这种情况下,Redux Persist是一个很好的解决方案, https://github.com/rt2zz/redux-persisthttps://www.npmjs.com/package/redux-persist

您选择所需的reducer,然后redux-persist为您保存并从localstorage加载它:)