图像不会在 React 中加载数组
Images Won't Load with Array in React
过去几周我一直在尝试学习 React,并决定学习 LamaDev 教程系列。昨天我开始学习投资组合教程 (https://www.youtube.com/watch?v=hQjlM-8C4Ps&t=2798s),但一直试图在我的数组中加载图像。
我继续构建了一个名为 'Product' 的组件,可以在下面找到代码。之后,我按照说明构建了 ProductList 组件,该组件应该显示我的 data.js 文件中的每个产品。我已经把那些贴在下面了。
我 运行 遇到的问题是,如果我使用来自互联网的随机 img link,图像会导入到我的产品中并显示在我的产品列表中。然而,这不是我想要做的,因为我想使用一些我自己的图像。
当我的 Product.jsx 试图使用我保存在 src/assets/img/ 中的图像时,img 将无法加载。我尝试使用 require 标签,但它仍然无法正常工作。我也已经将所有内容上传到我的 github 页面,可以找到 here 并用作参考。
我真的不确定我在这里做错了什么,因为一切看起来都是正确的,但我仍然知道问题出在键盘和椅子之间。
感谢您的帮助
Product.jsx
import "./product.css";
const Product = ({ img, link }) => {
return (
<div className="p">
<div className="p-browser">
<div className="p-circle"></div>
<div className="p-circle"></div>
<div className="p-circle"></div>
</div>
<a href={link} target="_blank" rel="noreferrer">
<img src={img} alt="" className="p-img" />
</a>
</div>
);
};
export default Product;
ProductList.jsx
import Product from "../product/Product";
import "./productList.css";
import { products } from "../../data";
const ProductList = () => {
return (
<div className="pl">
<div className="pl-texts">
<h1 className="pl-title">Create & inspire. It's Jon</h1>
<p className="pl-desc">
Jon Snow is a creative portfolio that your work has been waiting for.
Beautiful homes, stunning portfolio styles & a whole lot more awaits
inside.
</p>
</div>
<div className="pl-list">
{products.map((item) => (
// console.log(item)
<Product key={item.id} img={item.img} link={item.link} />
))}
</div>
</div>
);
};
export default ProductList;
data.js
export const products = [
{
id: 1,
img: require("./assets/img/theBestTestSite.jpg"),
link: "http://google.com",
},
{
id: 2,
img: require("./assets/img/theBestTestSite.jpg"),
link: "http://google.com",
},
{
id: 3,
img: require("./assets/img/theBestTestSite.jpg"),
link: "http://google.com",
},
];
在 data.js 中尝试先导入图像而不是 require
import img1 from "./assets/img/theBestTestSite.jpg"
export const products = [
{
id: 1,
img: img1,
link: "http://google.com",
},
// and same for others
];
过去几周我一直在尝试学习 React,并决定学习 LamaDev 教程系列。昨天我开始学习投资组合教程 (https://www.youtube.com/watch?v=hQjlM-8C4Ps&t=2798s),但一直试图在我的数组中加载图像。
我继续构建了一个名为 'Product' 的组件,可以在下面找到代码。之后,我按照说明构建了 ProductList 组件,该组件应该显示我的 data.js 文件中的每个产品。我已经把那些贴在下面了。
我 运行 遇到的问题是,如果我使用来自互联网的随机 img link,图像会导入到我的产品中并显示在我的产品列表中。然而,这不是我想要做的,因为我想使用一些我自己的图像。
当我的 Product.jsx 试图使用我保存在 src/assets/img/ 中的图像时,img 将无法加载。我尝试使用 require 标签,但它仍然无法正常工作。我也已经将所有内容上传到我的 github 页面,可以找到 here 并用作参考。
我真的不确定我在这里做错了什么,因为一切看起来都是正确的,但我仍然知道问题出在键盘和椅子之间。
感谢您的帮助
Product.jsx
import "./product.css";
const Product = ({ img, link }) => {
return (
<div className="p">
<div className="p-browser">
<div className="p-circle"></div>
<div className="p-circle"></div>
<div className="p-circle"></div>
</div>
<a href={link} target="_blank" rel="noreferrer">
<img src={img} alt="" className="p-img" />
</a>
</div>
);
};
export default Product;
ProductList.jsx
import Product from "../product/Product";
import "./productList.css";
import { products } from "../../data";
const ProductList = () => {
return (
<div className="pl">
<div className="pl-texts">
<h1 className="pl-title">Create & inspire. It's Jon</h1>
<p className="pl-desc">
Jon Snow is a creative portfolio that your work has been waiting for.
Beautiful homes, stunning portfolio styles & a whole lot more awaits
inside.
</p>
</div>
<div className="pl-list">
{products.map((item) => (
// console.log(item)
<Product key={item.id} img={item.img} link={item.link} />
))}
</div>
</div>
);
};
export default ProductList;
data.js
export const products = [
{
id: 1,
img: require("./assets/img/theBestTestSite.jpg"),
link: "http://google.com",
},
{
id: 2,
img: require("./assets/img/theBestTestSite.jpg"),
link: "http://google.com",
},
{
id: 3,
img: require("./assets/img/theBestTestSite.jpg"),
link: "http://google.com",
},
];
在 data.js 中尝试先导入图像而不是 require
import img1 from "./assets/img/theBestTestSite.jpg"
export const products = [
{
id: 1,
img: img1,
link: "http://google.com",
},
// and same for others
];