Ваше начальное состояние - пустой объект,
description: {}
Поэтому, когда вы пытаетесь получить к нему доступ, как,
<div >
<h4>{description.name} </h4>
</div>
Он просто проверяет, содержит ли description
объект name
ключ.Если да, то он просто печатает его, в противном случае выдает ошибку.
Согласно вашему комментарию, response.data иногда не показывает data2, то есть когда он падает. Если самого data2
нет, то ваш description
объект останется пустым. Таким образом, при доступе к значению из пустого объекта вы всегда получите ошибку.
Для решения этой проблемы вам необходимо условно отобразить значения из объекта описания.
{description && <div>
<h4>{description.name} </h4>
</div>
}
Здесь мы используем Logical && Operator
.Это означает, что если объект description
содержит данные, то только ваш div
будет визуализирован, иначе React
не добавит div
в документ.