2016-08-25 4 views
1

Вероятно элементарный вопрос, но почему в React, когда вы используете createClass он может принять specification object в формате, который пару ключ-значение, напримерРеагировать createClass объект спецификации форматирования

React.createClass({ 
    render: function() {...}, 
    componentDidMount: function() {...} 
}) 

против . объявление функции?

React.createClass({ 
    render() {...}, 
    componentDidMount() {...} 
}) 

Как они могут работать? Влияет ли волшебное изменение объявлений на пару значений объекта для вас?

+1

На самом деле они такие же .. другой просто использует новый синтаксис ES. я думаю, его ES2015 .. проверьте это [ссылка] (http://es6-features.org/#MethodProperties) –

ответ

2

Они такие же. Один из них - Method Definitions от ES2015, а другой - традиционный. Таким образом, никакой Реакт не делает ничего, но именно так работает JavaScript сейчас. (Пока браузер поддерживает его или препроцессор, такой как Babel, преобразует его в ES5)

Смежные вопросы