【发布时间】:2022-11-19 10:29:28
【问题描述】:
我在使用 .map 函数获取 api 时遇到问题
我总是遇到错误(Apasih.js:23 Uncaught TypeError: dataProduk.map 不是一个函数)。
有人可以帮我解决这个问题吗?
这是我的代码
import React, { useEffect, useState } from 'react';
import Axios from 'axios';
import List_products from './List_products';
const Apasih = () => {
const [dataProduk, setDataProduk] = useState([]);
useEffect(() => {
Axios.get(')
.then((result) => {
console.log('data API', result.data);
const responseAPI = result.data;
setDataProduk(responseAPI.data);
})
.catch((err) => {
console.log('error: ', err);
});
}, []);
return (
<div>
{dataProduk.map((produk) => {
return <List_products key={produk.id} />;
})}
</div>
);
};
export default Apasih;
【问题讨论】:
-
在使用
.map之前,您是否记录了dataProduk的值?该错误清楚地表明函数.map在 dataProduk 上不存在,因此它暗示它不是数组。 -
我很确定这是一个数组。我查看了控制台,它显示为我想要的数据数组列表。但它就是行不通,我不知道为什么 :(
-
在 return 语句之前记录
console.log(dataProduk);。您需要确定,而不仅仅是非常确定 ;)。