Ваш App
компонент извлекает данные в методе жизненного цикла componentDidMount
, который будет выполняться после первого монтирования. {console.log(this.state.character[0].name)}
показывает ошибку «невозможно прочитать свойство undefined
, потому что при первом монтировании компонента данные еще недоступны, а это означает, что this.state.character
все еще пустой массив. Поэтому при попытке доступа к this.state.character[0].name
его например, дайте мне значение undefined.name
, что даст вам ошибку, потому что свойство name
не существует на undefined
. Чтобы исправить эту проблему, вы можете проверить, есть ли character.length
в условном выражении, а затем попытаться получить доступ к .name
.
Пример
render() {
return (
<div>
test
{this.state.character.length && <p>{this.state.character[0].name}</p>}
</div>
)
}