【发布时间】:2021-02-19 23:10:03
【问题描述】:
所以我正在为一个副项目创建一个电子商务商店,但我遇到了一个问题。 在主页上,我拥有所有产品,并为产品详细信息创建了一条路线。当我单击其中一个时,它会获取 id,并应输出所有产品详细信息。我在 JSON 数组“data.js”中有关于产品的详细信息。
当我在主页单击产品时,它会显示错误:TypeError: Cannot read property 'image' of undefined - 在return 部分,我将{product.image} 放入其中。
但是,当我取消注释检查产品是否存在的部分(ProductPage.js)时,它仍然输出"Item does not exist!",就好像“data.js”文件中没有关于产品的任何数据一样。
App.js
<Route path="/product/:id" component={ProductPage}></Route>
ProductPage.js
import React from 'react';
import data from '../data';
export default function ProductPage(props) {
const product = data.products.find((x) => x._id === props.match.params.id);
// if (!product) {
// return <div>Item does not exist!</div>
// }
return (
<div>
<div className="row">
<div className="col">
<img src={product.image} alt={product.name}></img>
</div>
</div>
</div>
);
}
数据.js
const data = {
products:[
{
_id: 1,
name: 'iPhone 11 Pro',
category: 'Smartphones',
image: '/images/2.jpg',
price: 949,
rating: 4.8,
numReviews: 15,
description: 'testtesttesttesttesttesttesttest',
},
],
};
export default data;
提前致谢。
【问题讨论】:
标签: javascript html reactjs react-router