Как сохранить данные в локальном хранилище в саге? - PullRequest
0 голосов
/ 09 июля 2019

Мне нужно сохранить данные из массива в Saga (redux-saga). Но у меня есть массив, который должен поддерживать свою последовательность.

Я добавляю новый элемент в действие, которому я передаю «текст» и «ID», после чего мне нужно поместить новый элемент. А также редуктор, который объединяет первый фрагмент массива перед индексом + новый элемент + второй фрагмент массива после индекса.

Как сохранить этот массив в локальном хранилище в saga, если массив объединен в редуктор, а saga является промежуточным программным обеспечением и вызывается перед редуктором?

(в саге необходимо сохранение, это обязательное условие, я знаю, что это можно сделать с помощью подписчика)

Идея состоит в том, что я могу объединить и сохранить массив в Saga, но тогда редуктор ничего не сделает, и я передам статус обработки в промежуточном программном обеспечении. Это не очень хорошо Что мне нужно написать в саге?

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 голосов
/ 09 июля 2019

обычно для этого случая хорошим решением является Redux Persist, https://github.com/rt2zz/redux-persist, https://www.npmjs.com/package/redux-persist,

вы выбираете нужный вам редуктор, сохраняете его и сохраняете его и загружаете из локального хранилища:)

...