我遇到了一些反应代码,它们在类中定义了一个组件状态,如下所示:
// Snippet 1
class Sample extends React.Component {
state = {
count: 0
}
}
Run Code Online (Sandbox Code Playgroud)
我学习React的方法是在类的构造函数中声明状态:
// Snippet 2
class Sample extends React.Component {
constructor(props) {
super(props);
this.state = {
count: 0
};
}
}
Run Code Online (Sandbox Code Playgroud)
我能想到的唯一区别是初始化构造函数中的状态将保证状态在组件生命周期中正确初始化.
上面两个代码片段之间有什么区别?在代码段1中,可以安全地假设在初始化类时正确设置状态?
我正在阅读官方React文档中的React.Component部分.除了一切有意义的部分就propTypes.文档陈述如下:
在生产模式中,跳过propTypes检查以提高效率.
说我有以下代码:
class Sample extends React.Component {
render() {
return (
<div>Hello {this.props.name}</div>
);
}
}
Sample.propTypes = {
name: React.PropTypes.string
};
Run Code Online (Sandbox Code Playgroud)
文档是否意味着在生产中我的类型检查props将被跳过?如果是,我应该如何检查道具类型?