@arttstyle
web-макака

Как запустить async функцию внутри map?

{items.map((el) => {
        return (
          <>
            <div className={css.product}>
              <div className={css.productImage}>
                <img src={getImage(el.id)} />
              </div>
              <ProductGalleryLarge {...el}/>
            </div>
          </>
        );
      })}

хочу вот здесь <img src={getImage(el.id)} /> запустить асинхронную функцию которая добывает мне картинку превью
(функция получает картинку из firestorage поэтому прямых ссылок на картинки нет и вставить в объект нереал)
как это сделать?
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
Alexandroppolus
@Alexandroppolus
кодир
<img src={getImage(el.id)} /> поместить в отдельный реактовский компонент, например, StorageImage. Далее возможны различные варианты в зависимости от того, что используется на проекте. Наиболее простой - useQuery - это обеспечит кэширование и обновление стейта из коробки, и все остальные детали, прям вот всё что нужно для данного кейса.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы