Отказ от ответственности: я знаю, что этот ответ уже был задан, , но , в моем случае мне нужно решение для конкретного случая, которое на самом деле не охватывается другими вопросами / ответами.
Вмое реагирующее на родство приложение, я делаю много сетевых запросов, выполнение которых может занять много времени.Каждый запрос обрабатывается двумя основными способами:
- Запрос успешно выполнен.Глобальное состояние избыточности / потока обновляется, и поэтому обновляются и вложенные компоненты.
- Запрос выдает ошибку.Ошибка сети, ошибка сервера, ошибка
400
, что угодно.В этом случае пользователю необходимо отобразить сообщение в форме сообщения, отображаемого на экране, или в виде предупреждения.
Моя проблема заключается в том, что, когда компонент отключен, извлекаются обратные вызовыобрабатываются в любом случае, когда запрос завершается.В первом случае это не проблема: магазин обновляется успешно, и все довольны.
Во втором случае это проблема, потому что:
- Предупреждениебудет отображаться на другом экране, что неправильно и приводит к проблемам с компонентом
Modal
, который я использую для представления предупреждений об ошибках. - Появление / исчезновение сообщения об ошибке контролируется компонентом LOCALсостояние, которое не может быть обновлено на несмонтированном компоненте и поэтому выдает ошибку.
Какие у меня есть возможные решения здесь?Самый простой способ - использовать в каждом компоненте свойство _isMounted
, а в каждом обработчике ошибок выборки ничего не делать, если _isMounted == false
.Тем не менее, этот подход многословен и антипаттерн.
Есть ли у меня другой вариант?