Незакрытое регулярное выражение
У меня есть следующий код:
render() {
/* jshint laxbreak: true */
var buttonClasses = classSet({
'Button' : true,
}),
buttonContainerClasses = classSet({
'u-textRight': !this.props.fullscreen
}),
allowedTypes = /^(submit|button)$/i,
type = allowedTypes.test(this.props.type)
? this.props.type
: 'button';
return (
<div className={buttonContainerClasses}>
<input
type = {type}
value = {this.props.label}
/>
</div>
);
}
и JSHint дает мне следующую ошибку:
Unclosed regular expression
на строке, закрывающей тег ввода (вторая последняя строка). В настоящее время я пытаюсь обновить до React 0.12.2, и я исправляю все ошибки. Есть идеи как это исправить?
2 ответа
Я решил это! Таким образом, в React 0.12 прагма может быть удалена, однако lint не будет работать без нее, что приведет к появлению ошибки. Спасибо всем, кто выручил!
Расширение запускает jshint для всего файла jsx, а jshint не поддерживает синтаксис jsx и его функции. Я просто отключил JShint, используя -> (Код-> Настройки-> Настройки-> Расширения пользователя-> Конфигурация JSHint-> JSHint: Включить флажок-> Выключить)
Одним из решений было бы вручную отключить jshint для функций, возвращающих HTML, используя/* jshint ignore: start */
и/* jshint ignore: end */
.
Этот ответ также можно прочитать здесь: /questions/15923018/kak-ispravit-oshibku-linting-na-zakryivayuschih-tegah-jsx-nezakryitoe-regulyarnoe-vyirazhenie/61480812#61480812 по аналогичному вопросу.