Jshint: Реагировать JSX E015 «Незакрытое регулярное выражение»

Созданный на 3 февр. 2017  ·  19Комментарии  ·  Источник: jshint/jshint

Привет,

У меня возникают проблемы в определенных частях приложения React с ошибкой E015.

Вот несколько строк, где отображается ошибка:

<ImagePreview key={el.id} {...el} />

Ошибка отображается в знаке больше, чем в конце

<div className="panel-footer">
  <h5>{this.state.image.description}</h5>
</div>

Ошибка отображается в виде знака «больше чем» в конце тега h5.

<Link to={"topics/"+e.id} key={e.id} className="list-group-item">
  <h4>{e.name}</h4>
  <p>{e.description}</p>
</Link>

Ошибка отображается в виде знака «больше чем» в конце тега h4.

У меня версия 2.9.4 и я использую VS Code версии 1.9. Полученный связанный код работает без каких-либо проблем.

Что привлекает мое внимание, так это то, что ошибка исчезает, когда код меняется на это:

<div className="panel-footer"><h5>
  {this.state.image.description}
</h5></div>

Надеюсь, кто-то может дать мне несколько советов по этому поводу.

Лучший,
Родриго.

Needs Information

Самый полезный комментарий

Отключение JSHint решило эту проблему для меня.

Все 19 Комментарий

JSHint не может анализировать синтаксис JSX, поэтому я не думаю, что исходный код, которым вы поделились, совпадает с кодом, предоставленным JSHint. Однако трудно сказать это без дополнительных знаний о вашей цепочке инструментов. Если бы вы могли поделиться кодом JavaScript, мы смогли бы помочь.

Привет и спасибо за быстрый ответ!!

Вот очень простая реакция biolerplate, которая представляет ту же проблему:

import React, { Component } from 'react';

export default class App extends Component {
  render() {
    return (
      <div>React simple boilerplate</div>
    );
  }
}

Вот изображение того, как это выглядит в VS Code. Это полный файл, как вы можете видеть, и ошибка та же.

Надеюсь, эта информация будет полезной.

Лучший,
Родриго.

Я могу воспроизвести это поведение на JSHint.com, но ошибка, о которой вы сообщили,
ожидал. JShint не может анализировать синтаксис JSX, поэтому ошибка
правильное определение недопустимого JavaScript.

Однако я не совсем готов закрыть этот вопрос, потому что ваш первоначальный отчет
заявил, что следующий ввод не привел к ошибке:

<div className="panel-footer"><h5>
  {this.state.image.description}
</h5></div>

Хотя это может быть правильным синтаксисом JSX, это недопустимый JavaScript, и я бы
ожидать, что JSHint сообщит об ошибке. Тот факт, что это не говорит о том, что ваш
редактор выполняет какое-то преобразование кода перед его передачей
вместе с JSHint. Трудно сказать, потому что я не знаю, как ваш редактор
настроен на вызов JSHint. Можете ли вы исследовать, как происходит эта интеграция?
(вероятно, через какой-то плагин) и посмотреть, происходит ли такое преобразование? Если
поэтому ошибка, которую мы видим, все еще может отражать ошибку в самом JSHint.
(хотя это также может быть проблема с плагином).

Я посмотрю на это и вернусь, как только у меня будет какая-то информация.

Лучший,
Родриго.

Что-нибудь по этому поводу, @rhernandog?

@jugglinmike Извините, но новостей по этому поводу нет.

Как видите, я безуспешно упомянул в репозитории расширения. На самом деле расширение не обновлялось почти год, и с сентября не было ответа ни на один вопрос, поэтому я не очень уверен, что мы получим ответ по этому поводу. Создатель больше сосредоточен на расширении ESLint, чем на расширении JSHint, как Нео сказал архитектору: _Проблема в выборе_

Это ваш выбор, либо оставить это открытым, либо закрыть его. Если каким-то чудом в репозитории есть ответ, я вернусь и снова открою его.

Спасибо за внимание.

Лучший,
Родриго.

Без какой-либо дополнительной информации мы мало что можем здесь сделать. Я думаю, что моя теория ошибочного поведения плагинов является наиболее жизнеспособным объяснением, поэтому я хотел бы продолжить, основываясь на этой интерпретации, пока у нас не будет оснований подозревать иное. Как вы сказали, мы можем повторно открыть этот вопрос, когда/если это будет уместно.

Спасибо, что вернулись ко мне!

https://stackoverflow.com/questions/44861564/react-jsx-error-unclosed-regular-expression/44861565#44861565

Я надеюсь, что этот ответ поможет.

Я столкнулся с той же проблемой. Оказывается, это было вызвано несколькими сторонними расширениями.

привет, @jugglinmike , я недавно работал над расширением VS Code, используя JSHint, и могу пролить на него свет. Он напрямую передает весь документ в виде одной строки в javascript API JSHINT, преобразование не выполняется. Код

<div className="panel-footer"><h5>
  {this.state.image.description}
</h5></div>

показывает ошибки. Я не уверен, каково было намерение первоначального автора запускать его в файлах .jsx, но я думаю, что решение будет состоять в том, чтобы расширение анализировало файл и определяло части синтаксиса jsx и делало их пустыми строками перед передачей их в JSHint. .

Я столкнулся с той же проблемой... Не знаю, как с этим справиться

Здесь та же проблема, а может, и не в ней...

Отключение JSHint решило эту проблему для меня.

Как отключить jshint?

@JuanPabloSilva, пожалуйста, проверьте это.

https://github.com/aurelia/vscode-extension/issues/80#issuecomment -368266942

Эта ошибка настолько раздражает, что делает jshint непригодным для использования. Есть ли возможность отключить хотя бы эту подсказку?

Эта ошибка настолько раздражает, что делает jshint непригодным для использования. Есть ли возможность отключить хотя бы эту подсказку?
Полностью с тобой согласен @hiraditya
У нас должна быть возможность отключить этот конкретный jshint, но не все расширение.

просто отключите jshint, так как он конфликтует с другими пакетами vscode.

Спасибо, убрал jshint. Тогда все ок.

Я удалил jshint из своих расширений VS Code, после чего эта проблема исчезла.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги