首页 > 解决方案 > 如何在reactjs中打印json api数据

问题描述

我正在通过GET请求获取 json api 详细信息并尝试打印它。收到错误:

控制台中的错误是Uncaught ReferenceError: allUsers is not defined

    const Dashboard = ({status, juser}) => {
const [allUsers, setAllUsers] = React.useState([]);
const id = juser.actable_id;
console.log(id); //getting id here as 1
const getAllusers = () => {
    axios
        .get(`http://localhost:3001/user/${id}`, { withCredentials: true })
        .then((response) => {
           console.log(response.data);
            setAllUsers(response.data);
        })
        .catch((error) => {
            console.log(" error", error);
        });
};

  React.useEffect(() => {
    getAllusers();
  }, []);

{allUsers.map((job_seeker, index) => {
    return (
        <div>
            <p>{job_seeker.name}</p>
        </div>
    );
})}
}

export default Dashboard;

我是新来的反应。任何帮助都是值得赞赏的。

标签: jsonreactjsaxios

解决方案


您没有将 response 的值传递给 allUsers,而是创建了一个新变量。所以改变

   const allUsers = response.data;

至:

   allUsers(response.data)

此外,您还可以改进您使用的方式useState。您已将其初始化为空字符串,而您可能会将响应中的数组存储在jobseekers. 因此,将其初始化为空数组。

const [jobseekers, allUsers] = React.useState([]);

推荐阅读