Модуль не найден в реакции для рендеринга изображения из API

avatar
Lucky
9 августа 2021 в 04:26
158
2
0

В настоящее время я создаю реагирующее приложение для электронной коммерции, я застрял с функцией, при которой, когда продукт щелкает и перенаправляет на страницу сведений о продукте, я успешно могу получить изображение продукта и детали, используя реквизиты, но не могу получить изображение продукта. Изображение продукта требует вызова из API. Поэтому я пытаюсь направить вызов из src. Но я получаю сообщение об ошибке, когда модуль не найден. Пожалуйста, помогите мне с этим.

Получение ошибки в коде в этой строке, где я пытаюсь вызвать API напрямую tp src. enter image description here

Это ошибка, которую я получаю enter image description here

// carousel items
  const carouselItems = [
    {
      
      src: require(`/api/v1/ProductFile/${encodeURIComponent(
                        data.data.ID
                      )}/Product/${encodeURIComponent(
                        data.data.ProductImages[0]
                      )}`),
      altText: "Somewhere",
      caption: "Somewhere",
    },
    {
      src: require("assets/img/megan-product-2.jpg"),
      altText: "Somewhere else",
      caption: "Somewhere else",
    },
    {
      src: require("assets/img/megan-product-3.jpg"),
      altText: "Here it is",
      caption: "Here it is",
    },
    {
      src: require("assets/img/megan-product-4.jpg"),
      altText: "Here it is",
      caption: "Here it is",
    },
  ];
  
   <div>
      <Row>
        <Col key={data.data.ID} md="7" sm="6">
          <div className="ml-auto mr-auto" id="carousel">
            <Card className="page-carousel">
              <Carousel
                activeIndex={activeIndex}
                next={next}
                previous={previous}
              >
                <CarouselIndicators
                  items={carouselItems}
                  activeIndex={activeIndex}
                  onClickHandler={goToIndex}
                />
                {carouselItems.map((item) => (
                  <CarouselItem
                    onExiting={onExiting}
                    onExited={onExited}
                    key={item.src}
                  >
                    <img src={item.src} alt={data.data.Name} />
                    <CarouselCaption captionHeader={data.data.Name} />
                  </CarouselItem>
                ))}
               
               
              </Carousel>
            </Card>
          </div>
          {/* end carousel */}
        </Col>
        
      </Row>
    </div>
Источник
Lucky
9 августа 2021 в 04:37
0

Я пытаюсь вызвать API изображений, который включает productID и imageID , а не из папки.

Ответы (2)

avatar
Lucky
9 августа 2021 в 05:43
0

спасибо, я решил эту проблему, просто удалив требуемое слово.

avatar
JBallin
9 августа 2021 в 15:42
0

Вы должны удалить require(), обертывающий URL-адрес API.


Ошибка сообщает вам, что путь к файлу не существует.

Каждый элемент в Carousel использует <img>, который принимает атрибут src. Чтобы использовать конечную точку/URL API для src, ее следует передать напрямую в виде строки без использования require.

.