【发布时间】:2020-02-19 03:53:51
【问题描述】:
我试图使用我在节点中创建的 api 和 axios 库并挂钩 useEffect 来显示当前项目用户,但我收到错误 Uncaught (in promise) TypeError: Cannot read property 'recordset' of undefined,为什么? 接口
router.get('/api/users, async(req,res)=>{
try {
let results=await m.all();
res.json(results)
} catch (error) {
console.log(error);
res.sendStatus(500);
}
});
数据
{
"recordset": [
[
{
"id":1,
"Name":"Alissa",
"Age": 45,
"Adress": "Brooklyn 405",
"Phone": "212-324-4153"
},
{
"id":2,
"Name":"Ellis",
"Age": 23,
"Adress": "Boston 955",
"Phone": "212-324-4152"
}
],
"output": {},
"rowsAffected": [
2
]
}
使用 react hooks useEffect 和 axios 库调用我在 node js 中创建的 API 的功能
import React, { useState, useEffect } from 'react';
import axios from 'axios';
import { Link } from 'react-router-dom';
function AllUsers(){
const url='/api/users';
const[user, setuser]= useState({recordset: [] });
useEffect(()=>{
const getUsers=async()=>{
const response =await axios.get(url);
setuser(response.user);
}
getUsers();
},[]);
return(
<ul>
{user.recordset.map(item=>(
<li key={item.id}>
<a href={item.url}>{item.Name}</a>
</li>
))}
</ul>
)
}
export default AllUsers;
【问题讨论】:
-
据我所知,真实数据将在
axiosresponse. Try to useresponse.data.user`的data属性中。 -
@dqlgnoleht 现在抛出 TypeError 错误:无法读取未定义的属性“记录集”
-
你能编辑你的帖子并添加回复吗?
-
@dqlgnoleht 你是对的,是放置数据但没有 .user
-
"recordset": [ [ <---- delete this one,你有两个,应该删除一个
标签: node.js reactjs react-hooks recordset