Выделите hook с явным ключом запроса или функцией загрузки и единым результатом data/loading/error. Внутри централизуйте отмену, проверку HTTP-статуса и защиту от устаревших ответов.
Как вынести логику fetch в кастомный хук, чтобы не дублировать код для разных сущностей?
Выделите hook с явным ключом запроса или функцией загрузки и единым результатом data/loading/error. Внутри централизуйте отмену, проверку HTTP-статуса и защиту от устаревших ответов.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Выделите hook с явным ключом запроса или функцией загрузки и единым результатом data/loading/error. Внутри централизуйте отмену, проверку HTTP-статуса и защиту от устаревших ответов.
Обновляйте запрос при изменении его реальных параметров и очищайте эффект при размонтировании. Не создавайте нестабильный callback на каждом рендере без понимания зависимостей. Если требуются кеш, дедупликация, повторные попытки и инвалидация, готовый клиент запросов обычно надёжнее постепенно разрастающегося собственного hook.