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

代码运行提示map is not function错误,跳转传参逻辑如何排查?

报错原因及解决方法

map is not a function 是调用map的变量不是数组类型导致的,结合你提供的代码,具体原因和修复方案如下:

  • 语法不完整:你贴出的渲染代码缺少闭合标签、三元表达式的 fallback 分支、map方法的闭合括号,首先要补全语法结构。
  • 校验逻辑不严谨:你只判断了sample.length !==0,如果运行时sample被赋值为非数组类型(比如undefined、null、普通对象),调用length和map都会报错,要先校验变量是不是数组类型。
  • 变量作用域冲突:map回调的参数名和外层的sample变量重名,可能导致作用域混乱取值异常。

修复后的代码示例

// 若sample是从接口/状态取值,初始化时一定要给默认空数组,避免初始值为undefined
const sample = [
  {
    path: "/website",
    par: {
      abc: "234",
      def: "567",
      ghi: "8910"
    }
  }
];

// 渲染部分修改为
{Array.isArray(sample) && sample.length ? (
  sample.map((item, index) => (
    {/* 注意给循环项加唯一key,避免react告警 */}
    <Menu.Item key={index}>
      <Link
        to={{
          pathname: item.path,
          search: createURL(item)
        }}
      >
        Sample
      </Link>
    </Menu.Item>
  ))
) : null}
  • 如果修改后还是报错,直接在调用map前打印console.log(typeof sample, sample),就能直接看到sample的实际类型,排查哪里给sample错误赋值了非数组值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 21:15:03