Redux промежуточное ПО для фильтрации

Я работаю над собственным приложением реагировать с редуксом. До сих пор я выполнял все свои асинхронные действия в создателях действий, используя промежуточное программное обеспечение redux-thunk, но затем начал мигрировать и разбивать вход в промежуточное программное обеспечение с помощью обратных вызовов, но столкнулся с проблемой.

СТАРЫЕ СОСТОЯНИЯ: В одном из моих компонентов я отправлял создателя асинхронных действий, и чтобы был запущен только один его экземпляр, я использовал состояние этой кнопки, чтобы предотвратить множественные отправки этого действия, связанные с кнопкой onPressOut.

НОВОЕ СОСТОЯНИЕ: теперь, когда я перемещаю вещи в промежуточное ПО, я создал 2 промежуточных ПО, давайте назовем их loginFilterMiddleware и login (порядок обработки одинаков). Я нажимаю кнопку, которая запускает цепочку промежуточных программ. Промежуточное программное обеспечение loginFilter пропускается (процесс еще не запущен), затем выполняется вход, и в этом промежуточном программном обеспечении я меняю флаг в редукторе, чтобы указать, что процесс запущен. Моя идея состоит в том, что промежуточное ПО фильтра будет считывать этот флаг и отфильтровывать действие, пока процесс не будет завершен. Но обнаружил, что мои действия полностью синхронны, поэтому, если я нажму на эту кнопку 2 раза, она все время будет обходить промежуточное ПО фильтра.

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

Большое спасибо.

0 ответов

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