我正在尝试编写一个从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
属性如果出现这种情况,请将该值强制转换为字符串。