Как сохранить мой редуктор чистым при использовании промежуточного ПО Redux Promise?

Я использую промежуточное программное обеспечение Redux Promise, и создатель моего действия возвращает действие с обещанием.

Теперь в редукторе я получаю данные разрешенного обещания и мне нужно "предоставить" новое состояние. Я также должен сделать что-то не "чистое" с этими данными, например, сохранить их в локальном хранилище.

Как мне подойти к этой ситуации и при этом сохранить чистоту редуктора? Эти данные получены в промежуточном программном обеспечении, и в первый раз я получаю их в редукторе.

Я знаю, что могу выполнить обещание в моем создателе действия и получить доступ к данным до отправки действия, но есть ли другой лучший способ?

1 ответ

Вы можете создать свой собственный middleware!

Вы можете назвать это localStorage-middleware например, и вы можете отправить действие, прежде чем предоставлять свои данные редуктору. Ваше промежуточное программное обеспечение будет слушать это действие, как dispatch(saveDataToLocalStorage(dataToSave))

Другие вопросы по тегам