在构造函数或componentWillMount中设置初始反应组件状态?

时间:2016-06-13 05:31:33

标签: reactjs

在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});
  }
}

1 个答案:

答案 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() {
    ....
  }
}