【发布时间】:2020-12-20 04:41:14
【问题描述】:
我正在通过 reactjs 改进自己。我正在尝试建立一个电子商务网站。我使用 Mock Api 作为服务。我可以在 ProductList.js 中列出我的数据。但我不能在 ProductDetails.js 中调用相同的数据。我收到“未定义”错误。
const ProductDetail = (props) => {
const { buttonLabel, className } = props;
const { name, description, price,id } = props;
const axios = require('axios');
const [modal, setModal] = useState(false);
const toggle = () => setModal(!modal);
const [dress, setDress] = useState([]);
useEffect(() => {
axios
.get(`https://5fd9d76f6cf2e7001737ead3.mockapi.io/api/v1/dress`)
.then(function (response) {
setDress(response.data);
})
.catch(function (error) {
console.log(error);
});
}, []);
const data = dress.map(item => {
return {
name: item.name,
description: item.description,
price:item.price,
id: item.id
}
})
return (
<div >
<ProductDetailButton onClick={toggle}>Detay{buttonLabel}</ProductDetailButton>
<Modal isOpen={modal} toggle={toggle} key={`${data.id}`} className={className}>
<ModalHeader toggle={toggle}>{`${data.name}`}</ModalHeader>
<ModalBody >
{`${data.price}`}
</ModalBody>
<ModalBody>
{`${data.description}`}
</ModalBody>
<ModalFooter>
<Button color="secondary" onClick={toggle}>
Kapat
</Button>
</ModalFooter>
</Modal>
</div>
);
模态显示为输出。它说“未定义”而不是数据。如何解决?
【问题讨论】:
-
data是一个对象数组,所以我怀疑您的问题是您没有将它视为返回的 JSX 中的数组
标签: javascript reactjs api undefined