Мне интересно знать, является ли использование setState в каждой итерации цикла forEach плохой идеей или нет.
Если это будет непосредственно внутри итерации, то определенно yes , как React, чем объединяет все обновления, которые вы делаете во время итерации, что, вероятно, займет гораздо больше времени, чем если бы вы просто установили состояние после цикла.Однако в вашем случае вы запускаете асинхронное действие в каждой итерации, и, поскольку все асинхронные задачи завершаются в разное время, обновления запускаются не сразу.Основное преимущество вашего подхода состоит в том, что если эти асинхронные задачи занимают некоторое время (например, если вы выбираете много данных для каждой из них), то некоторая информация уже может отображаться, а некоторые все еще загружаются.Если все эти асинхронные вызовы загружают только небольшой объем данных, тогда вам следует изменить свой API, чтобы доставлять все данные одновременно.Так что это действительно зависит от вашего варианта использования, хорошо это или плохо.