제한된 글로벌 없음


168

웹 애플리케이션을 개발하기 위해 React와 Redux를 사용하고 있으며 프로젝트를 시작할 때 다음을 얻었습니다.

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

Search for the keywords to learn more about each error.

해결 방법에 대해 많이 검색했지만 찾은 답변 중 어느 것도 도움이되지 않았으므로 Stack overflow로 전환했습니다.

누구 든지이 오류를 해결하는 방법을 알고 있습니까? 내가 얻을 수있는 모든 도움에 감사드립니다.

답변:


408

window전에 추가하십시오 location(예 :) window.location.


15
이것이 정답입니다. ESLint는 약한 코드를 작성하고 있음을 올바르게 알려줍니다. 허용되는 답변을 포함한 다른 두 가지 답변은 문제를 해결하지 못하지만 ESLint가 알려주지 못하게합니다.
eMike Wallace

실제로이 문제를 해결하는 올바른 방법은 location 앞에 window.location을 추가하는 것입니다. 어떤 이유로 CRA 팀은 현재 location"혼란스러운 브라우저 글로벌"을 고려 합니다. 만약 당신이 CRA를 사용하고 있고 위치 객체에 대해 모른다면, 당신은 사람이없는 땅에 있습니다. 어쩌면 그들은 그냥 ... 이해할 것 성가신 URL을 읽기 만들고 싶어
데빈 G로드

location객체가 실제로 혼란스러운 브라우저 글로벌 인지 묻는 github 문제를 만들었 으므로 window.모든 곳 에서 접두사 가 필요합니다 ... github.com/facebook/create-react-app/issues/7733
Devin G Rhode

5

이것은 간단하고 최상의 솔루션은 아니지만 작동합니다.

줄 위의 줄에 오류가 발생하면 다음을 붙여 넣으십시오.

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


5
서비스 워커를 블롭으로 인라인 할 때 create-react-app 프로젝트에 적합한 솔루션입니다. 공감.
adc

7
이렇게하면 문제가 해결되지 않고 경고 만 숨겨집니다.
Vladimir Nul

0

아마도 소품으로 구성 요소에 위치를 전달할 수 있습니다. 아래에서 ... otherProps를 사용합니다. 이것은 스프레드 연산자이며 유효하지만 불필요합니다. 소품을 명시 적으로 전달하면 데모 목적으로 자리 표시 자만 있습니다. 또한 ({location})의 출처를 이해하기 위해 파괴 연구.

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

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


export withRouter(MyComponent);

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.