team
не определено при первом отображении вашего компонента.Я предполагаю, что fetchResults()
вызывает fetch()
, чтобы сделать HTTP-запрос.Это в конечном итоге вернет данные, и позже вы увидите, что team
имеет значение.Вам нужно написать свой компонент таким образом, чтобы он проверял, определено ли team
:
render() {
return (
<Container>
<Grid>
{this.props.team && this.renderTeams()}
</Grid>
</Container>);
Если вы хотите выглядеть модно, вы можете сделать вращающийся круг, чтобы указать, что данные загружаются, пока выиметь доступные данные.
Примечание:
Имена team
и teamList
, кажется, перевернуты, поскольку teamList
, кажется, относится к одному объекту командыв массиве, хранящемся в team
.Я предлагаю вам использовать teamList
для ссылки на весь массив и team
для ссылки на отдельные объекты в массиве при отображении на него.
Нет необходимости использовать _.map()
, потому что вы можетепросто сделай teamList.map(team => {/* ... */});
.Также вам необходимо вернуть результат отображения по списку:
return teamList.map(team => {
// ...
});