#javascript #reactjs
#javascript #reactjs
Вопрос:
Я пытаюсь создать функцию в React, которая в конечном итоге должна выполнить некоторые вычисления и вернуть результат моему компоненту. Функция не выполнена, так что потерпите меня, если это не имеет смысла, куда я иду с этим.
Я использую React.createClass
.
Код выглядит следующим образом
render: function() {
return (
<div className="container">
<h3 className="time">{this._getTime(1)}</h3>
</div>
);
}
_getTime(time) {
if (time === 1) {
return '1';
} else if (time === 2) {
return '2';
} else {
return 'stuff';
}
}
Это просто возвращает токен SyntaxError: Unexpected, указывающий на _getTime.
Есть какие-либо намеки на то, что я делаю неправильно?
Ответ №1:
Похоже, что вы используете React.createClass
, который принимает аргумент объекта.
Поскольку это объект, вам нужна запятая между каждым свойством или сокращенным методом.
var Hello = React.createClass({
render: function() {
return (
<div className="container">
<h3 className="time">{this._getTime(1)}</h3>
</div>
);
}, // <--- comma added here
_getTime(time) {
if (time === 1) {
return '1';
} else if (time === 2) {
return '2';
} else {
return 'stuff';
}
}
});
https://jsfiddle.net/pfnfvyb1/
class
не использует разделители запятой, поэтому эта проблема часто возникает при переключении между двумя стилями.