在反应 axios 方法中使用 Chartjs 时获得"Uncaught TypeError: Cannot read properties of undefined (reading 'map'



我试图在react中使用Chartjs创建一个图表。为此,我使用axios post方法从Nodejs中创建的服务器中获取数据库中的数据。当我在axios中使用chartjs时,我得到了这个错误"未捕获的类型错误:无法读取未定义的属性(读取"map")">

这是我的代码:

const [userData, setData] = React.useState([]);
React.useEffect(()=> {
axios.post("http://localhost:3001/graph",
{
username:str
}).then(response=>{
Uname = response.data.username;
exp = response.data.expense;
inc = response.data.income;
console.log(inc);
console.log(exp);

data.push(exp);
data.push(inc);

});
setData({    
labels: title,
datasets:[
{
label: "Expense",
data: data,
backgroundColor: ["red"]
}
]
});

console.log(userData);
})

我在userData中得到空数组。我在网上尝试了大部分方法,但似乎都不起作用。如果有人能在这里帮我,那真的很重要。

谢谢。

这是因为一开始userData是一个空数组,过一段时间数据就会进入它,您可以使用它;你可以做的一个想法是在定义这样的映射之前使用if:{userData && userData.map ...}

相关内容

最新更新