【发布时间】:2020-12-21 18:34:52
【问题描述】:
我正在学习 react hook 并尝试将我的类组件更改为函数组件并使用 useEffect 和 useState 使用 hooks 获取数据,但它不起作用。这是我的类组件,下面我将放函数组件的草稿,我认为我使用useEffect的方式有问题。我们将不胜感激。
import React, { useEffect, useState } from 'react';
const Shop = () => {
const [products, setProducts] = useState([]);
useEffect(() => {
fetch(`/products`)
.then(response => response.json())
.then(response => {
setProducts(products);
});
})
return (
<div>
{
products.map(product => (
<div className="shop ml-5 mt-4" key={product.id}>
<img className="image" src={product.image} alt=""/><br></br>
<button className= "mt-4 btn btn-light">QUICKSHOP</button>
<button className="mt-4 btn btn-light">ADD TO CART</button>
<p className="mt-4"> {product.title}</p>
<p>{product.price}</p>
</div>
)) }
</div>
)
}
export default Shop;
我们将不胜感激。
【问题讨论】:
-
您可能会考虑在编写代码时使用一致的缩进 - 这将使阅读和调试变得更加容易,不仅对于潜在的回答者,而且对于您来说,当我们都可以看到
{}块及其嵌套级别一目了然,而不必仔细挑选每一行来挑选逻辑路径。
标签: reactjs react-hooks fetch