कोई प्रतिबंधित ग्लोबल्स नहीं


168

मैं वेब को विकसित करने के लिए रिएक्ट और रिडक्स का उपयोग कर रहा हूं और जब मैंने अपना प्रोजेक्ट शुरू किया तो मुझे यह मिला:

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

Search for the keywords to learn more about each error.

मैं इसे हल करने के तरीके के बारे में बहुत खोज करता हूं, लेकिन मुझे जो भी उत्तर मिला, उनमें से किसी ने भी मेरी मदद नहीं की, इसलिए मैंने स्टैक ओवरफ्लो की ओर रुख किया।

क्या किसी को पता है कि इस त्रुटि को कैसे ठीक किया जाए? मुझे जो भी मदद मिल सकती है मैं उसकी सराहना करता हूं।

जवाबों:


408

(यानी ) windowसे पहले जोड़ने का प्रयास करें ।locationwindow.location


15
यह स्वीकृत उत्तर होना चाहिए। ESLint सही ढंग से आपको बता रहा है कि आप कमजोर कोड लिख रहे हैं। स्वीकृत उत्तर सहित अन्य दो उत्तर, समस्या का समाधान नहीं करते हैं, लेकिन केवल ESLint को आपको इसके बारे में बताने से अक्षम करते हैं।
eMike वालेस

वास्तव में इसे ठीक करने का सही तरीका खिड़की के साथ उपसर्ग स्थान है। किसी कारण के लिए, CRA टीम वर्तमान locationमें "भ्रमित करने वाला ब्राउज़र वैश्विक" मानती है। मैं कहूंगा कि यदि आप CRA का उपयोग कर रहे हैं और स्थान ऑब्जेक्ट के बारे में नहीं जानते हैं, तो आप नो-मैन्स लैंड में हैं। हो सकता है कि वे केवल पढ़ने के लिए उरल कष्टप्रद बनाना चाहते हों, जो समझ में आएगा ...
डेविन जी रोड

मैंने विशेष रूप से यह पूछते हुए एक गितुब मुद्दा बनाया कि क्या locationवस्तु वास्तव में एक भ्रामक ब्राउज़र वैश्विक है, इसलिए window.हर जगह उपसर्ग की आवश्यकता है ... github.com/facebook/create-react-app/issues/7733
डेविन जी रोड

5

यह एक सरल और शायद सबसे अच्छा समाधान नहीं है, लेकिन यह काम करता है।

लाइन के ऊपर लाइन में आपको अपनी त्रुटि मिलती है, इसे पेस्ट करें:

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


5
जब एक सेवा-प्रतिक्रिया ऐप प्रोजेक्ट के लिए अच्छा समाधान होता है, जब सेवा कर्मचारियों को ब्लब के रूप में इनलाइन किया जाता है। Upvoted।
एडीसी

7
यह मुद्दे को हल नहीं करता है, बस चेतावनी को छुपाता है।
व्लादिमीर नूल

0

शायद आप एक प्रोप के रूप में घटक में स्थान पास करने की कोशिश कर सकते हैं। नीचे मैं उपयोग करता हूं ... अन्यप्रोप्स। यह प्रसार ऑपरेटर है, और वैध है लेकिन अस्वाभाविक है यदि आप स्पष्ट रूप से अपने प्रॉप्स में पास हुए हैं तो यह सिर्फ प्रदर्शन उद्देश्यों के लिए एक स्थान धारक के रूप में है। इसके अलावा, ({स्थान}) कहां से आया है, यह समझने के लिए विनाशकारी अनुसंधान।

import React from 'react';
import withRouter from 'react-router-dom';

const MyComponent = ({ location, ...otherProps }) => (whatever you want to render)


export withRouter(MyComponent);

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.