Трафик API может замедлить работу вашего веб-приложения. Современный браузер допускает только небольшое количество параллельных вызовов API, и, следовательно, сокращение вызовов API может привести к повышению производительности. Часто мы игнорируем отмену apis при размонтировании нашего компонента, возможно, потому что это делает код более подробным или мы не знаем об этом случае. Однако отказ от отмены не только приводит к блокировке некоторых TCP-соединений, но также приводит к утечке памяти и обновлению состояния размонтированных компонентов. что выглядит так

Я разработал специальный хук, чтобы справиться с этим вариантом использования очень простым и понятным способом. Вот

Вот пример того, как вы можете его использовать

теперь вы можете делать столько запросов get req, используя метод getData, даже обновляя состояние и обрабатывая ошибку, вам просто нужно передать свой метод setState, просто убедитесь, что вы вернули функцию cancelRequests в useEffect, которая отменит все запросы api, сделанные getData.

вы можете использовать async await, а также getData возвращает обещание, а также передавать дополнительный объект для добавления заголовков и прочего.

Теперь у нас есть супер чистый и простой для понимания оптимизированный код с меньшим количеством строк.

Я буду добавлять больше пользовательских хуков по мере появления новых вариантов использования, это мой репозиторий Github, если вы хотите оставаться на связи.

Спасибо.