You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next.js遍历Object.entries时链接列表不显示问题

分栏式侧边导航链接列表无法渲染的解决方案

问题现象:开发分栏式侧边导航菜单时,每个栏目包含标题与链接数组,使用Object.entries遍历数据后,栏目标题正常显示,但链接列表完全无法渲染。

问题原因

你的代码中linkList.map的回调函数使用大括号包裹代码逻辑,但没有显式返回JSX元素。箭头函数里,大括号代表函数体,若要返回内容必须手动写return;如果省略大括号,或者用小括号包裹JSX,箭头函数会自动返回表达式结果。

修正后的代码

export default function AdminSideNav() {
  return (
    <div className={`${styles.admin_sidenav}`}>
      {Object.entries(sidenav).map(([sectionTitle, linkList]) => (
        <div key={sectionTitle}>
          <h4 className={`${styles.section_title}`}>
            {sectionTitle}
          </h4>
          {/* 方式1:用小括号让箭头函数自动返回JSX */}
          {linkList.map((section, idx) => (
            <p key={idx} className={`${styles.section_name}`}>
              {section.name}
            </p>
          ))}
          
          {/* 方式2:显式使用return语句 */}
          {/* {linkList.map((section, idx) => {
            return (
              <p key={idx} className={`${styles.section_name}`}>
                {section.name}
              </p>
            );
          })} */}
        </div>
      ))}
    </div>
  );
}

额外优化提示

给Object.entries遍历生成的外层<div>添加key={sectionTitle},符合React列表渲染的key规范,避免控制台出现不必要的警告。

内容的提问来源于stack exchange,提问作者mcneelyad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 23:17:20