必须提供完整调用栈、触发动作与当前状态、相关代码片段;仅复制报错最后一行会导致ai误判,如盲目加可选链,而真实问题可能是api返回null未处理,或父组件传入undefined。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你运行Vibe Coding生成的代码后终端报了一堆红字,直接复制最后一行“TypeError: Cannot read property 'map' of undefined”丢给AI,它改完还是错——问题不在AI,而在你喂错了信息。
必须带上完整调用栈,不能只截最后一行
打开终端或浏览器开发者工具,把整个报错区域从第一行红色文字开始,一直拖到底部,包括所有“at …”开头的路径行,全部复制。这一步漏掉任意一层调用路径,AI就无法定位是哪个文件、哪一行、在什么上下文里崩的。
如果你只复制“Cannot read property 'map' of undefined”,AI大概率会盲目给变量加可选链(?.)或默认值(|| []),但真正的问题可能是上一步的API返回了null,而你根本没处理响应体结构变化。
说明触发动作和当前状态
方法一:用三句话交代现场
① 我刚点击了页面右上角的【同步数据】按钮;
② 当前页面已加载完成,用户已登录,token有效;
③ 控制台立刻刷出报错,刷新页面后复现。
方法二:贴出关键状态快照
在报错发生后,立即在控制台执行 console.log(JSON.stringify({ user, config, apiResponse }, null, 2)),把输出结果连同报错一起发给AI。这比描述更可靠,避免你说“数据已加载”,AI却以为是空对象。
【不要说“我点了按钮就崩了”,要写清按钮在哪、点之前页面处于什么状态、有没有前置操作】
附上相关代码片段,别让AI猜结构
找到报错堆栈里提到的文件和行号(比如 “at src/views/Dashboard.vue:42:18”),打开该文件,把报错行及其上下各5行代码完整粘贴过去。如果涉及组合式API,必须包含 setup() 内的变量声明、useXXX() 调用、以及出错语句本身。
若报错发生在子组件里,且父组件传了props,请一并提供父组件中该子组件的调用代码(含v-bind绑定、插槽内容、事件监听)。AI不看调用上下文,就无法判断是props类型不对,还是事件回调没按约定返回。
这一步操作起来很简单,直接把文件拖进去就行。但很多人跳过它,结果AI反复修改子组件内部逻辑,而真正的问题是父组件传了个undefined进来。










