Основной вопрос здесь - порядок методов жизненного цикла. На этапе монтирования вызывается конструктор, а затем метод рендеринга. ComponentDidMount еще не вызывается, и, следовательно, ваше состояние пусто. Причина, по которой вы не получаете сообщение об ошибке при входе в систему apiData или apiData [0], заключается в том, что он просто регистрирует пустой массив или объект во время первоначального вызова рендеринга (фаза монтирования), а затем фактический объект во время второго рендеринга после componentDidMount (фаза обновления). Но когда вы пытаетесь вызвать свойство (game_id), вы получаете ошибку (неопределенную) на этапе монтирования, так как вы вызываете его для пустого массива / объекта.
Решением является проверка существования родительского объекта перед вызовом свойства для него, например, с помощью необязательного связывания (новое будущее JS2020), которое проверяет apiData [0], ошибку следует исправить, просто добавив py "?" после объекта. Вы также можете использовать другие методы для более старых JS.
console.log(apiData[0]?.game_id)