使用propTypes验证props会出现以下错误:
TypeError: Cannot read property ‘string’ of undefined.
TypeError: Cannot read property ‘func’ of undefined.
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 }
您需要安装prop-types包,然后添加import语句
从prop-types导入PropTypes;
在你的班级顶部.
The PropTypes have been moved from React to their own package prop-types
.
编辑:如评论中所述,这仅适用于React版本15.5及更高版本.