我正在将我的React组件编写为ES6类。我试图添加propTypes
,Meteor抛出此错误A semicolon is required after a class property
。这是我的组成部分:
class MainLayout extends Component {
propTypes: {
content: React.PropTypes.element
}
componentDidMount () {
$(window).load(() => {
$('.flexslider')
.flexslider(
{ animation: 'fade', animationSpeed: 1500, controlNav: false }
);
});
}
render () {
return (
<div>
<Header/>
{/* Content */}
{ this.props.content }
</div>
);
}
}
我该如何解决这个问题?
答案 0 :(得分:8)
使用es6类synax,您无法在类定义中的类上设置静态属性。
基本上,而不是
class MainLayout extends Component {
propTypes: {
content: React.PropTypes.element
}
..
}
应该是
class MainLayout extends Component {
...
}
MainLayout.propTypes = {
content: React.PropTypes.element
}
使用es7类,您可以定义这样的proptypes,但这更符合您的期望:
class MainLayout extends Component {
static propTypes = {
content: React.PropTypes.element
}
..
}