Путаница с синтаксисом Reactjs

Я очень новичок в этом, поэтому, пожалуйста, терпите меня всех. Я изучал React, где создается компонент, как,

var app = React.createClass({ ... });

Прямо как здесь.

Однако после установки реакции на моем Mac я вижу, что синтаксис немного отличается от того, к чему я привык. т.е.

class Application extends React.Component { ... }

Прямо как здесь.

Теперь я понял код благодаря моим предшествующим знаниям в Java. Но я просто хотел узнать разницу. Это становится проблемой для меня, потому что когда я писал синтаксис, такой как React.createClass(), он не работал.

Если вы посмотрите на вторую ссылку в codepen, вы увидите, что Babel написан рядом с JS. Таким образом, по умолчанию реагирует на использование Babel?

Я думаю, вы поняли картину. Спасибо!

1 ответ

Решение

Ваш первый пример использует React.createClass() вспомогательная функция, в то время как вторая использует синтаксис класса ES6 для определения компонента React.

Оба являются действительными подходами к определению компонентов. Однако обратите внимание, что вам нужно будет перенести код ES6 в ES5 перед его отправкой, чтобы сделать его кросс-браузерно-совместимым.

Больше информации об определениях компонентов в стиле ES6.

Другие вопросы по тегам