javascript - 在功能组件中发出渲染数据
问题描述
我正在尝试在函数组件中呈现页脚项列表。
这是我的数据:
export const footerLinks = [{
"title": "Learn More",
"data": [{
id: 'news',
name: 'News',
to: '/news'
},
{
id: 'faq',
name: 'FAQ',
to: '/faq'
}
]
},
{
"title": "Media",
"data": [{
id: 'media',
name: 'Media Kit',
to: '/media'
},
{
id: 'media_enquiries',
name: 'Media Enquiries',
to: '/media_enquiries'
}
]
}]
我导入数据并尝试以<ul>
. 函数console.log
中的确实输出预期值。但是,在 之后,日志显示它是并且只有一个空的才会出现在屏幕上。MyListItems
forEach
listItems
undefined
<ul></ul>
有什么想法吗?
import { footerLinks } from '../site'
function MyListItems() {
const listItems = footerLinks.forEach(section => {
section.data.map(({id, name, to}) => {
console.log(id, name, to);
<li>{name}</li>
})
});
return (
<ul>{listItems}</ul>
);
}
export function Footer() {
return (
<div>
<MyListItems />
</div>
)
}
解决方案
forEach不会在循环外返回任何内容,这意味着它将返回undefined
,map
而是
const listItems = footerLinks.map(section => {
return section.data.map(({id, name, to}) => {
console.log(id, name, to);
return <li>{name}</li>
})
});
推荐阅读
- python - 检查消息是否在 Discord.py 中有附件
- r - 在 R 中使用 nls() 的指数模型
- javascript - 如何在不重定向或重新加载页面的情况下更新字段/发布表单?
- html - 如何将背景颜色更改为透明?
- css - 将 AntD 可调整大小的表格转换为使用功能组件
- c# - 如何从 Web API C# 方法中的操作参数中获取所有字符串值
- powershell - PowerShell WMI 过滤器变量
- sharepoint - 无法使用 REST API 获取 PWA 项目
- javascript - 为什么在 Javascript 中调用函数时没有显示我的消息?
- reactjs - 如何更改动态呈现的按钮 onpress 的背景颜色和图像