使用propTypes验证props会出现以下错误:
TypeError:无法读取未定义的属性"string".
TypeError:无法读取未定义的属性'func'.
有问题的代码位于代码段的底部:
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
}
Run Code Online (Sandbox Code Playgroud)
pal*_*alm 19
您需要安装该prop-types软件包,然后添加import语句
import PropTypes from prop-types;
在你的班级顶部.
PropTypes已从React移动到他们自己的包中prop-types.
编辑:如评论中所述,这仅适用于React版本15.5及更高版本.
| 归档时间: |
|
| 查看次数: |
11666 次 |
| 最近记录: |