【发布时间】:2021-08-24 11:03:45
【问题描述】:
export default function Education() {
const classes = useStyles();
const [projects, setProjects] = useState({});
useEffect(() => {
axios.get("http://127.0.0.1:8000/api/").then((res) => {
setProjects(res.data);
console.log(res.data);
});
}, [projects]);
return (
<div className={classes.root}>
<Grid container spacing={3}>
<Grid item xs={12} sm={12}>
<Typography variant="h4" color="secondary">
Some of my work
</Typography>
</Grid>
{projects.map((project) => {
return <p key={project.id}>{project.name}</p>;
})}
</Grid>
</div>
);
}
我想在页面渲染时从 api 获取数据,但实际情况是,
- 用 null 初始化的变量项目
- return () 在 projects.map() 函数所在的位置运行。
- 由于项目变量没有任何数据,因此地图不是在项目上运行的有效函数。
- 然后 useeffect() 正在运行。
这就是为什么我得到错误:
TypeError:projects.map 不是函数
我该如何解决这个问题。我是新来的反应。谁能帮帮我。
【问题讨论】:
标签: reactjs react-hooks react-functional-component