在react组件中,最好在构造函数()或componentWillMount()中设置初始状态吗?
export default class MyComponent extends React.Component{
constructor(props){
super(props);
this.setState({key: value});
}
}
或
export default class MyComponent extends React.Component{
componentWillMount(props){
this.setState({key: value});
}
}
答案 0 :(得分:65)
在使用ES6类时,最好使用构造函数,但不要使用setState
API,而是这样做:
export default class MyComponent extends React.Component{
constructor(props){
super(props);
this.state = { key: value };
}
}
此外,如果您有类属性(babel阶段1),那么您可以执行以下操作:
export default class MyComponent extends React.Component{
state = { key: value };
render() {
....
}
}