Jshint: React JSX E015 "تعبير عادي غير مغلق"

تم إنشاؤها على ٣ فبراير ٢٠١٧  ·  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 وأستخدم الإصدار 1.9 من VS Code. تعمل التعليمات البرمجية المجمعة الناتجة دون أي مشكلة.

ما يلفت انتباهي هو أن الخطأ يزول عندما يتغير الرمز إلى هذا:

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

آمل أن يعطيني أحدهم بعض المؤشرات بخصوص هذا الأمر.

الأفضل،
رودريغو.

Needs Information

التعليق الأكثر فائدة

أدى تعطيل JSHint إلى حل هذه المشكلة بالنسبة لي.

ال 19 كومينتر

JSHint غير قادر على تحليل بناء جملة JSX ، لذلك لا أعتقد أن الكود المصدري الذي قمت بمشاركته هو نفس الكود المقدم إلى JSHint. من الصعب قول هذا دون معرفة إضافية بسلسلة الأدوات الخاصة بك. إذا كان بإمكانك مشاركة كود JavaScript ، فسنكون قادرين على المساعدة.

مرحبا وشكرا على الرد السريع !!

إليك لوحة تفاعل بسيطة للغاية تعرض نفس المشكلة:

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 مؤخرًا ويمكنني إلقاء بعض الضوء عليه. يتم تمرير المستند بأكمله مباشرة كسلسلة واحدة إلى JSHINT javascript api ، ولا يتم إجراء أي تحويل. الرمز

<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 التقييمات