首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >React无法读取未定义的属性

React无法读取未定义的属性
EN

Stack Overflow用户
提问于 2017-10-14 19:20:39
回答 2查看 20.3K关注 0票数 13

使用propTypes验证道具会出现以下错误:

TypeError:无法读取未定义的属性“字符串”。 TypeError:无法读取未定义的属性“func”。

所讨论的代码位于代码段的底部:

代码语言:javascript
运行
复制
import React from 'react';
import ProjectItem from './ProjectItem';

class Projects extends React.Component {
    
    deleteProject(title) {
      this.props.onDelete(title);
    }

    render() { 
      let projectItems;

      if (this.props.project) {
        projectItems = this.props.project.map(project => {
            return (
                <ProjectItem key={project.title} project={project} onDelete={this.deleteProject.bind(this)}  />
            )
        });
      }
    
      return (
        <div className="Projects">
          {projectItems}
        </div>    
      );    
    }

}

Projects.propTypes = {
  projects: React.PropTypes.string,
  onDelete: React.PropTypes.func
}
EN

回答 2

Stack Overflow用户

发布于 2017-10-14 19:26:50

您需要安装prop-types包,然后添加导入语句

import PropTypes from prop-types;

在你们班的第一名。

.

编辑:正如评论中提到的,这只适用于Reactive15.5及以上版本。

票数 27
EN

Stack Overflow用户

发布于 2018-11-14 20:30:56

如前所述,您需要添加支持类型包,然后在Proptype之前删除React。下列措施应能发挥作用:

代码语言:javascript
运行
复制
Projects.propTypes = {
   projects: PropTypes.string,
   onDelete: PropTypes.func
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46748441

复制
相关文章

相似问题

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