É melhor definir o estado no construtor ou usar inicializadores de propriedades?

De acordo comesta Na documentação do babel, a maneira correta de usar o ES6 + com o React é inicializar componentes como este:

class Video extends React.Component {
  static defaultProps = {
    autoPlay: false,
    maxLoops: 10,
  }
  static propTypes = {
    autoPlay: React.PropTypes.bool.isRequired,
    maxLoops: React.PropTypes.number.isRequired,
    posterFrameSrc: React.PropTypes.string.isRequired,
    videoSrc: React.PropTypes.string.isRequired,
  }
  state = {
    loopsRemaining: this.props.maxLoops,
  }
}

Mas alguns exemplos oficiais, como o de Dan AbramovReagir DnD módulo, usa ES6 +, mas ainda define o estado no construtor:

constructor(props) {
    super(props);
    this.moveCard = this.moveCard.bind(this);
    this.state = {
       // state stuff
    }
}

Agora Dan Abramov, sendo um colaborador significativo do React, provavelmente sabe que ele pode definir o estado fora do construtor, mas ainda assim opta por fazê-lo dentro do construtor.

Então, eu só estou me perguntando qual caminho é melhor e por quê?

questionAnswers(3)

yourAnswerToTheQuestion