Прежде всего вы инициализируете свое состояние пустым массивом, но данные, возвращаемые вашим API, на самом деле являются объектом. Во-вторых, вы пытаетесь визуализировать некоторые данные, предоставляя пустой массив в качестве реквизита (фактические данные появятся позже). Таким образом, props.data.types не существует, и props.data.types [0] вернет ошибку.
Инициализация с пустым объектом
state = {
pokemonData: {}
}
Затем в вашей функции рендеринга, перед рендерингом убедитесь, что у вас есть что-то в pokemonData:
return (
<>
{this.state.pokemonData.name !== undefined &&
<Display data={this.state.pokemonData}/>
}
</>
);