【发布时间】:2020-10-23 17:36:37
【问题描述】:
我正在使用 React,我正在尝试将 GET 请求的结果映射到数据库以在我的页面中显示一些选项卡。
这是我的 GET 请求:
useEffect(async ()=>{
const a = await getCategories();
setCategories(a)
},[])
const [categories, setCategories] = useState()
然后我使用 useEffect 挂钩将返回的数组存储在我的功能组件状态中:
useEffect(async ()=>{
const a = await getCategories();
setCategories(a)
},[])
const [categories, setCategories] = useState()
最后,在渲染中,我尝试像这样映射状态数组:
<Nav variant="tabs" >
{categories.map((category, index) => (
<Nav.Item key={index}>
<Nav.Link
eventKey={`link-${index}`}
onClick={() => setCategory(category.category)}
>
{category}
</Nav.Link>
</Nav.Item>
))}
</Nav>
我收到 TypeError: Cannot read property 'map' of undefined
我认为这是因为它在我将数组存储在状态之前运行地图,但我不知道如何解决它。
【问题讨论】:
-
你能提供
getCategories()的代码吗? -
@yuRa 代码运行良好,我用邮递员对其进行了测试,并按预期返回了一个数组
标签: javascript reactjs async-await react-hooks