reactjs - React无法读取数组中的数组?
问题描述
我正在尝试在我的数组中呈现这个数组。这是我的数据文件
export const SidebarData = [
{
title: 'Home',
path: '/',
icon: <AiIcons.AiFillHome />,
cName: 'nav-text'
},
{
title: 'Reports',
path: '/reports',
icon: <IoIcons.IoIosPaper />,
cName: 'nav-text',
subNav: [
{
title: 'Sub Reports',
path: '/reports/subreports',
cName2: 'subnav'
},
{
title: 'Sub Reports 2',
path: '/reports/subreports2',
cName2: 'subnav'
}
]
}
]
这是我显示数据的代码
{SidebarData.map((item, index) => {
return (
<li onClick={showSubnav} key={index} className={item.cName}>
// Tried to render array in array, but says cannot read map of undefined
<div className='subnav-menu'>
{SidebarData.subNav.map((subItem, index) => {
return <div key={index}>{subItem.title}</div>;
})}
</div>
<Link to={item.path}>
{item.icon}
<span>{item.title}</span>
</Link>
</li>
);
})}
这部分代码是我尝试在数组中显示数组,但不知道如何正确显示而不崩溃
<div className='subnav-menu'>
{SidebarData.subNav.map((subItem, index) => {
return <div key={index}>{subItem.title}</div>;
})}
</div>
我将如何渲染 subNav 数组数据?
解决方案
首先,您应该调用subNav
of item
,而不是SidebarData
。此外,您应该在调用map()
subNav 的方法时检查 subNav 是否未定义,因此如果未定义,则会发生错误。
<div className='subnav-menu'>
{item.subNav && item.subNav.map((subItem, index) => {
return <div key={index}>{subItem.title}</div>;
})}
</div>
推荐阅读
- c# - 如何将数据从 WPF 应用程序发送到 UWP 应用程序?
- mongodb - MongoDB:从某个字段的最大值过滤的集合中获取所有文档
- c# - 如何获得 ContentPresenter 的父 ItemsControl?
- html - 如何使用 VBA 将我的 Excel 工作表中的信息输入到特定网站的搜索栏中?
- android - 我应该如何将 Android 中的原生构建应用升级到 Flutter 构建 Android?
- sap-cloud-platform - 使用 SAP Cloud SDK Pipeline 部署到 CF 时,Nodejs 应用程序间歇性地泄漏内存
- python-3.x - 在没有 POST 错误的情况下启动 flask-socketio
- python - 使用 Tensorflow 标记图像中的区域
- python - 使用资源策略对 API 网关的签名请求导致用户:匿名错误
- python-3.x - Onnx-to-keras 和 Keras2onnx 将 ONNX 模型输入层更改为 Nx1x200x200,而不是原来的 1x1x200x200