问题报错:
报错的部分代码如下:
addTodo = (todoObj) => { const { todos } = this.state const newTodos = { todoObj, ...todos } //上面这段代码应该写成:const newTodos = [ todoObj, ...todos ] this.setState({ todos: newTodos }); //this.setState({ todos: newTodos }): //这段代码是将todos数组的状态改为newTodos,newTodos也应该是一个数组 } //todos应该为数组 todos.map((todo) => { return <Item key={todo.id} {...todo} checkTodo={checkTodo} /> })
解决方法:将todos转为数组
map()方法定义在JavaScript的Array中,它返回一个新的数组,数组中的元素为原始数组调用函数处理后的值。