我正在学习一些教程,我遇到了一个错误‘无法读取未定义的属性'map’的错误。请用下面的代码帮助我。
map:无法读取未定义的TodoItems.render C:/Users/hp/Desktop/todo_list/src/TodoItems.js:10的属性‘TypeError’
7 |
8 | render(){
9 | var todoEntries = this.props.entries;
> 10 | var listItems = todoEntries.map(this.createTasks);
| ^ 11 |
12 | return (
13 | <ul className="theList">
View compiled
▶ 23 stack frames were collapsed.
import React, { Component } from "react";
class TodoItems extends Component{
createTasks(item) {
return <li key={item.key}>{item.text}</li>
}
render(){
var todoEntries = this.props.entries;
var listItems = todoEntries.map(this.createTasks);
return (
<ul className="theList">
{listItems}
</ul>
);
}
}
export default TodoItems;
and the TodoList file code is:
render() {
return (
<div className="todoListMain">
<div className="header">
<form onSubmit={this.addItem}>
<input ref={(a) => this._inputElement = a}
placeholder="enter task">
</input>
<button type="submit">add</button>
</form>
</div>
<TodoItems entries={this.state.items}/>
</div>
);
}
}
export default TodoList;发布于 2019-05-27 05:08:04
您试图将this.state.items作为entries传递,但它似乎不是数组,而是undefined。
默认情况下,您可以通过执行以下操作将其设置为数组:
class MyComponent extends Component {
state = {
items: []
}
}https://stackoverflow.com/questions/56317337
复制相似问题