Зачем устанавливать состояние компонента React вне конструктора?

Итак, я только что загрузил исходный код из среды React, и я получаю эту ошибку в терминале:

  ERROR in ./src/components/TextEditor.js
  Module build failed: SyntaxError: Unexpected token (24:8)

  22 | 
  23 |   // Set the initial state when the app is first constructed.
> 24 |   state = {
     |         ^
  25 |     state: initialState
  26 |   }
  27 | 

Мой вопрос: почему люди устанавливают состояние компонента React таким образом? Какая польза, если это будет ошибкой для некоторых людей? Кроме того, есть ли пресет Babel или плагин, который я могу получить, чтобы предотвратить эту ошибку?

Вот как я обычно устанавливаю состояние компонента, и из того, что я видел, это условно:

constructor() {
  super();
  this.state = {
    state: initialState
  };
}

Для записи, это весь документ:

// Import React!
import React from 'react'
import {Editor, Raw} from 'slate'

const initialState = Raw.deserialize({
  nodes: [
    {
      kind: 'block',
      type: 'paragraph',
      nodes: [
        {
          kind: 'text',
          text: 'A line of text in a paragraph.'
        }
      ]
    }
  ]
}, { terse: true })

// Define our app...
export default class TextEditor extends React.Component {

  // Set the initial state when the app is first constructed.
  state = {
    state: initialState
  }

  // On change, update the app's React state with the new editor state.
  render() {
    return (
      <Editor
        state={this.state.state}
        onChange={state => this.setState({ state })}
      />
    )
  }

}

Ответы на вопрос(1)

Ваш ответ на вопрос