Все верно, первый раз ваш компонент
Game
грузится без данных, так как в начальном состоянии
data
- пустой массив, а вы пытаетесь взять свойство
bets
в компоненте
Bet
.
После первого рендеринга срабатывает событие
componentDidMount
и данные загружаются -> состояние меняется.
Если я все правильно понял, вы должны изменить свойство
data
в методе
getInitialState
, чтобы это был объект, а не массив и добавить проверку при передаче данных в компонент
Bet
:
{this.state.data.bets && <Bet data={this.state.data} />}