Незакрытое регулярное выражение

У меня есть следующий код:

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 по аналогичному вопросу.

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