首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >问题: TypeError:无法读取未定义的属性'map‘

问题: TypeError:无法读取未定义的属性'map‘
EN

Stack Overflow用户
提问于 2019-05-27 05:00:42
回答 1查看 647关注 0票数 0

我正在学习一些教程,我遇到了一个错误‘无法读取未定义的属性'map’的错误。请用下面的代码帮助我。

map:无法读取未定义的TodoItems.render C:/Users/hp/Desktop/todo_list/src/TodoItems.js:10的属性‘TypeError’

代码语言:javascript
复制
 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;
EN

回答 1

Stack Overflow用户

发布于 2019-05-27 05:08:04

您试图将this.state.items作为entries传递,但它似乎不是数组,而是undefined

默认情况下,您可以通过执行以下操作将其设置为数组:

代码语言:javascript
复制
class MyComponent extends Component {
  state = {
    items: []
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56317337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档