【发布时间】:2021-12-15 10:47:31
【问题描述】:
我遇到了这个错误:
TypeError: categories.map 不是函数
这是App.js:
export default function Header() {
const [categories, setCategories] = useState([]);
useEffect(() => {
const loadCategories = async () => {
let res = await API.get(endpoints['categories'])
setCategories(res.data)
}
loadCategories()
}, []);
return (
<Navbar bg="light" expand="lg">
<Container>
<Navbar.Brand href="#home">ECoursesAPP</Navbar.Brand>
<Navbar.Toggle aria-controls="basic-navbar-nav" />
<Navbar.Collapse id="basic-navbar-nav">
<Nav className="me-auto">
<Link className="nav-link" to="/">Trang chủ</Link>
{categories.map(c => <Link className="nav-link" to="#link">{c.name}</Link>)}
</Nav>
</Navbar.Collapse>
</Container>
</Navbar>
)
}
这是API.js:
import axios from "axios";
export let endpoints = {
"categories": "/categories/"
}
export default axios.create({
baseURL: "http://localhost:8000"
})
【问题讨论】:
-
CONsole
res.data的值并检查它是否是一个数组。
标签: reactjs axios react-hooks