this.setState({
Даже думать не хочу, возможна ли такая ситуация, когда сразу после вызова setState для результата одного запроса начинает обрабатываться другой. Не будем рисковать потерей результатов и используем функциональное обновление. Ну и если хотите последовательные запросы, тогда надо ждать конца предыдущего, чтобы сделать следующий, async/await позволит код упростить.
async componentDidMount() {
for (const url of urlList) {
const
dataAPI = [ ...this.state.dataAPI, await servicesAPI.getResourse(url) ],
loaded = dataAPI.length === urlList.length;
await new Promise(r => this.setState({ dataAPI, loaded }, r));
}
}