Promise.all принимает массив промисов и ждёт, пока выполнятся все. В примере opium сначала грузятся размеры всех картинок, и только потом setState — поэтому в map уже можно спокойно ставить 33% или 50%. Согласен, что width/height с бэка ещё лучше: тогда getMeta на клиенте вообще не нужен.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.