Keine eingeschränkten Globals


168

Ich verwende React und Redux, um eine Webanwendung zu entwickeln, und als ich mein Projekt startete, bekam ich Folgendes:

Line 13:  Unexpected use of 'location'  no-restricted-globals

Search for the keywords to learn more about each error.

Ich suche viel darüber, wie ich es lösen kann, aber keine der Antworten, die ich gefunden habe, hat mir geholfen, also habe ich mich dem Stapelüberlauf zugewandt.

Weiß jemand, wie man diesen Fehler behebt? Ich schätze jede Hilfe, die ich bekommen kann.

Antworten:


406

Versuchen Sie es windowvorher location(dh window.location).


15
Dies sollte die akzeptierte Antwort sein. ESLint informiert Sie korrekt darüber, dass Sie schwachen Code schreiben. Die beiden anderen Antworten, einschließlich der akzeptierten Antwort, lösen das Problem nicht, sondern verhindern nur, dass ESLint Ihnen davon erzählt.
eMike Wallace

Der richtige Weg, dies zu beheben, besteht darin, der Position window.location voranzustellen. Aus irgendeinem Grund betrachtet das CRA-Team derzeit locationeinen "verwirrenden Browser global". Ich würde sagen, wenn Sie CRA verwenden und nichts über das Standortobjekt wissen, befinden Sie sich im Niemandsland. Vielleicht wollen sie nur das Lesen der URL nervig machen, was verständlich wäre ...
Devin G Rhode

Ich habe ein Github-Problem erstellt, in dem speziell gefragt wurde, ob das locationObjekt wirklich ein verwirrender globaler Browser ist, weshalb das window.Präfix überall benötigt wird ... github.com/facebook/create-react-app/issues/7733
Devin G Rhode

5

Dies ist eine einfache und vielleicht nicht die beste Lösung, aber sie funktioniert.

Fügen Sie in der Zeile über der Zeile, in der Sie Ihren Fehler erhalten, Folgendes ein:

// eslint-disable-next-line no-restricted-globals


5
Gute Lösung für ein Projekt zum Erstellen und Reagieren von Apps, wenn Servicemitarbeiter als Blobs eingefügt werden. Upvoted.
ADC

7
Dies löst das Problem nicht, sondern verbirgt nur die Warnung.
Vladimir Nul

-2
/* eslint no-restricted-globals:0 */

ist ein anderer alternativer Ansatz

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.