Неожиданный токен после const

Я получаю неожиданную ошибку токена в React, когда пытаюсь указать константу, и я не могу понять, почему.

Мой код довольно прост, и я следовал примерам react-bootstrap здесь почти точно.

Мой код выглядит следующим образом:

import { Component, PropTypes } from 'react';

var rbs = require('react-bootstrap'),
Panel = rbs.Panel;

export default class ResumeSection extends Component {
  constructor(...args) {
    super(...args);
    this.state = {
      open: true
    };
  }

  const title = (
    <h3>Panel title</h3>
  );

  render() {
    return (
      <Panel collapsible expanded={this.state.open}>
        <p>Body</p>
      </Panel>
    );
  }
}

Ошибка возникает title сразу после const и просто говорит SyntaxError: Unexpected Token


person Spaceman Spiff    schedule 14.01.2016    source источник


Ответы (2)


Вы не можете определить константу в теле класса таким образом; это должно быть перемещено в метод.

render() {
  const title = (
    <h3>Panel title</h3>
  );
  // ...
}
person Michelle Tilley    schedule 14.01.2016

По-видимому, это называется «Синтаксис поля открытого класса» и уже доступен в Babel в качестве плагина, babel-plugin-transform-class-properties. Хотя я еще не пробовал.

Дополнительная ссылка: руководство по событиям на сайте reactjs.org

person George    schedule 23.09.2018