【发布时间】:2020-04-23 17:50:03
【问题描述】:
我正在从数据库中获取详细信息,希望将其显示到表格中,但出于最初的目的,我只想在没有表格和内容的浏览器上显示。我正在获取值。地图不是一个函数,但我可以看到打印的值在控制台中
这里我使用函数组件
export default function SimpleTable() {
const [values, setValues] = useState({});
这里是获取函数
async function handleTable(){
const res = await fetch("http://localhost:4000/productslist")
const data = await res.json()
setValues(data.data)
console.log(data.data)
}
在 useEffect 上调用 fetch 函数
useEffect(()=>{
handleTable()
},[])
将值呈现到浏览器中
return (
<div>
{console.log(values)}
{values.map(v => {
return <h4 key={v.idaddproducts}>{v.productName}{v.productId}{v.productBrand}</h4>})}
</div>
);
}
这是错误
Uncaught TypeError: values.map is not a function
【问题讨论】:
-
您将初始值设置为
{},而不是将其设置为[] -
因为您最初的
values是一个对象。Array.map是一个有效的原型。所以将初始的values更改为数组const [values, setValues] = useState([])
标签: reactjs use-effect