【问题标题】:Uncaught TypeError: Cannot read properties of undefined (reading 'map')未捕获的类型错误:无法读取未定义的属性(读取 \'map\')
【发布时间】: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 &amp;&amp;
  • 为什么要编辑掉 todos &amp;&amp; 部分?那应该可以解决错误。如果 todos 未定义,则需要显示 props 是如何传递给 Todos
  • todos.map 更改为 todos?.map 也会修复它。 (或传递 [] 作为 prop 的初始值。)

标签: javascript reactjs


【解决方案1】:

您的 const 称为 Todos(大写 T),但您正在映射 todos。你应该映射待办事项 不,我很抱歉。你只能映射一个数组,但 todos 没有值,也没有定义。添加const todos = ["Todo1", "Todo2"] 应该帮助

【讨论】:

  • Todos 是组件。 todos 是它的道具之一。 (并且在组件上调用 map 是不合逻辑的。)
  • 是的,看到了。
猜你喜欢
  • 2021-12-22
  • 2021-12-25
  • 2021-11-24
  • 2021-10-31
  • 2021-11-07
  • 2022-01-17
  • 2023-03-13
  • 2022-01-01
  • 2022-01-10
相关资源
最近更新 更多