Во-первых, когда вы попытаетесь загрузить дополнительные данные, имена не будут завершены.
Просто сделайте вашу componentDidMount
функцию асинхронной и ожидайте каждый вызов (также убедитесь, что вы возвращаете обещаниедля каждого).
async componentDidMount(){
await this.loadPokemons();
await this.loadPokemonAdditionalInfo();
}
Также вы возвращаете итерацию результатов, а не массив json каждого результата.
Замените results.forEach(result => result.json())
на:
results.map(result => result.json())
в loadPokemonAdditionalInfo
const results = [{ name:'John' }, { name:'Jane' }];
console.log('forEach', results.forEach(result => result.name));
console.log('map', results.map(result => result.name));