【发布时间】:2022-12-17 17:10:21
【问题描述】:
我收到这个错误。我正在制作待办事项应用程序,未捕获类型错误:无法读取未定义的属性(读取“地图”),当我执行 console.log(todos) 显示未定义时,我是如何解决的
Uncaught TypeError: Cannot read properties of undefined (reading 'map'),
这是我的 todos.js 哪里会出现错误
import React from 'react'
import { ListGroup, ListGroupItem } from "reactstrap";
import { FaCheckDouble } from "react-icons/fa";
const Todos = ({ todos, markComplete}) => {
console.log("todos:",todos);
return (
<ListGroup className="mt-5 mb-2 items">
{todos.map((todo) => (
<ListGroupItem key={todo.id}>
{todo.todoString}
<span className="float-right" onClick={() => markComplete(todo.id)}>
<FaCheckDouble />
</span>
</ListGroupItem>
))}
</ListGroup>
);
}
export default Todos;
【问题讨论】:
-
这应该解决未定义的问题
{todos && -
为什么要编辑掉
todos &&部分?那应该可以解决错误。如果todos未定义,则需要显示 props 是如何传递给Todos -
将
todos.map更改为todos?.map也会修复它。 (或传递[]作为 prop 的初始值。)
标签: javascript reactjs