Первый render получит data=null, loading=false и error=null. Эффект не выполняется внутри этого render; изменение loading вызовет последующее обновление.
Какие значения возвращает hook до первого эффекта
Первый render получит data=null, loading=false и error=null. Эффект не выполняется внутри этого render; изменение loading вызовет последующее обновление.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Hook создаёт data через useState(null), loading через useState(false), error через useState(null). В эффекте он ставит loading=true и запускает запрос. Что получит компонент при первом render?
Ответ
Первый render получит data=null, loading=false и error=null. Эффект не выполняется внутри этого render; изменение loading вызовет последующее обновление.
Если интерфейс должен сразу показывать загрузку, задайте подходящее начальное состояние либо отдельный статус idle. Не считайте initial false доказательством завершённого запроса. Удобно различать idle, loading, success и error, чтобы пустой успешный результат не путался с отсутствием данных до старта.