代码之家  ›  专栏  ›  技术社区  ›  Kasra Riahi

从strapi获取图像时不显示

  •  0
  • Kasra Riahi  · 技术社区  · 2 年前

    我正在尝试编写一个从strapi获取值的产品页面

    但问题是,除了IMG什么都没有显示之外,每个内容都被正确提取

    what i'm seeing in my page

    这是整个代码:

    import React from "react";
    import { useState } from "react";[enter image description here](https://i.stack.imgur.com/XNjyY.png)
    import BalanceIcon from "@mui/icons-material/Balance";
    import useFetch from "../../hooks/useFetch";
    import { useParams } from "react-router-dom";
    import { useDispatch } from "react-redux";
    import { addToCart } from "../../redux/cartReducer";
    
    const Product = () => {
      const id = useParams().id;
      const [selectedImg, setSelectedImg] = useState("img");
      const [quantity, setQuantity] = useState(1);
    
      const dispatch = useDispatch();
      const { data, loading, error } = useFetch(`/products/${id}?populate=*`);
    
      return (
        <div className="product">
          {loading ? (
            "loading"
          ) : (
            <>
              <div className="left">
                <div className="images">
                  <img
                    src={
                      process.env.REACT_APP_UPLOAD_URL +
                      data?.attributes?.img?.data?.attributes?.url
                    }
                    alt=""
                    onClick={(e) => setSelectedImg("img")}
                  />
                  <img
                    src={
                      process.env.REACT_APP_UPLOAD_URL +
                      data?.attributes?.img2?.data?.attributes?.url
                    }
                    alt=""
                    onClick={(e) => setSelectedImg("img2")}
                  />
                </div>
                <div className="mainImg">
                  <img
                    src={
                      process.env.REACT_APP_UPLOAD_URL +
                      data?.attributes[selectedImg]?.data?.attributes?.url
                    }
                    alt=""
                  />
                </div>
              </div>
              <div className="right">
                <h1>{data?.attributes?.title}</h1>
                <span className="price">${data?.attributes?.price}</span>
                <p>{data?.attributes?.desc}</p>
                <div className="quantity">
                  <button
                    onClick={() =>
                      setQuantity((prev) => (prev === 1 ? 1 : prev - 1))
                    }
                  >
                    -
                  </button>
                  {quantity}
                  <button onClick={() => setQuantity((prev) => prev + 1)}>+</button>
                </div>
                <button
                  className="add"
                  onClick={() =>
                    dispatch(
                      addToCart({
                        id: data.id,
                        title: data.attributes.title,
                        desc: data.attributes.desc,
                        price: data.attributes.price,
                        img: data.attributes.img.data.attributes.url,
                        quantity,
                      })
                    )
                  }
                >
                  <AddShoppingCartIcon /> ADD TO CART
                </button>
                <div className="links">
                  <div className="item">
                    <FavoriteBorderIcon /> ADD TO WISH LIST
                  </div>
                  <div className="item">
                    <BalanceIcon /> ADD TO COMPARE
                  </div>
                </div>
                <div className="info">
                  <span>Vendor: Polo</span>
                  <span>Product Type: T-Shirt</span>
                  <span>Tag: T-Shirt, Women, Top</span>
                </div>
                <hr />
                <div className="info">
                  <span>DESCRIPTION</span>
                  <hr />
                  <span>ADDITIONAL INFORMATION</span>
                  <hr />
                  <span>FAQ</span>
                </div>
              </div>
            </>
          )}
        </div>
      );
    };
    
    export default Product;
    
    

    我认为.env url不正确,并尝试安慰.log我的REACT_APP_API_url

    它返回了undefined,但我不认为url路径不正确

    这是我的.env内容:REACT_APP_API_URL=http://localhost:1337

    以及控制台日志始终显示此错误:警告:收到的 src 属性如果出现这种情况,请将该值强制转换为字符串。

    0 回复  |  直到 2 年前
    推荐文章