Вы переопределяете глобальное состояние с помощью
.then((myJson) => this.setState(myJson))
, по сути, вы переопределяете this.state
новым объектом, который не разрешен, вам всегда нужно только extend
this.state
, поскольку вы реферрируете в своемкод для this.state.sprints
правильного вызова будет
.then((sprints) => this.setState({sprints))
, который использует использование деструктуризации объектов, так что он будет таким же, как {sprints: sprints
React затем объединит this.state
(то есть {} в то время отконструктор) и объедините его с {sprints: sprints}
, что приведет к правильному состоянию
this.state = {
sprints: data
}
также ваш код асинхронный, вам нужно добавить проверку внутри рендера, это можно легко сделать, вернув null
if (!this.state.sprints) return null
, который защитит метод рендеринга от ошибок