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

React出现TypeError: props.todoList is undefined错误如何解决?

FARM栈Todo应用代码问题修复方案

明确语法错误修复

  • 模板字符串使用错误

位置:Todo.js文件中deleteTodoHandler方法内的axios.delete调用
错误原因:JS中需要用**反引号()**包裹模板字符串才能解析${变量}语法,当前你用单引号包裹请求地址,会导致${title}`不会被替换为实际的todo标题,请求路径完全错误。
修复后代码:

axios.delete(`http://localhost:8000/api/todo/${title}`).then(res => console.log(res.data))
  • 行内样式属性配置错误

位置:Todo.js文件中<span>标签的style属性
错误原因:fontWeight仅控制字体粗细,下划线效果属于textDecoration属性,你把两个属性值拼接后赋值给fontWeight,会导致样式完全失效。
修复后代码:

<span style={{ fontWeight: 'bold', textDecoration: 'underline' }}>{props.todo.title} : </span>
  • 列表渲染缺少唯一key属性

位置:TodoListView.js文件中数组map遍历渲染TodoItem的逻辑
错误原因:React要求列表渲染的每个子组件必须绑定唯一key属性,否则会抛出运行时警告,极端情况下会触发列表渲染异常。
修复后代码:

{props.todoList.map(todo => <TodoItem key={todo.title} todo={todo} />)}

其他潜在问题排查方向

如果修复上述错误后功能仍异常,可按优先级排查:

  1. 检查FastAPI后端是否配置了CORS跨域中间件,允许React前端地址的跨域请求,否则浏览器会直接拦截接口请求
  2. 确认后端删除接口的路由规则是否和前端请求的/api/todo/{title}完全匹配,参数占位符是否一致
  3. 查看浏览器控制台的报错信息,可快速定位接口404、参数格式错误等问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 07:06:05