Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无限制全局_Javascript_Reactjs_React Router_Eslint - Fatal编程技术网

Javascript 无限制全局

Javascript 无限制全局,javascript,reactjs,react-router,eslint,Javascript,Reactjs,React Router,Eslint,我正在使用React和Redux开发一个Web应用程序,当我启动我的项目时,我得到了以下信息: Line 13: Unexpected use of 'location' no-restricted-globals Search for the keywords to learn more about each error. 我搜索了很多关于如何解决它的问题,但没有一个答案对我有帮助,所以我转向堆栈溢出 有人知道如何修复此错误吗?我感谢所有能得到的帮助 尝试在位置之前添加窗口(即窗口.位

我正在使用React和Redux开发一个Web应用程序,当我启动我的项目时,我得到了以下信息:

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

Search for the keywords to learn more about each error.
我搜索了很多关于如何解决它的问题,但没有一个答案对我有帮助,所以我转向堆栈溢出


有人知道如何修复此错误吗?我感谢所有能得到的帮助

尝试在
位置
之前添加
窗口
(即
窗口.位置
)。

这是一个简单的解决方案,可能不是最好的解决方案,但它很有效

在获得错误的行上方的行上,粘贴以下内容:

//eslint禁用下一行无限制全局变量

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

是另一种替代方法

也许您可以尝试将位置作为道具传递到组件中。 下面我用…其他道具。这是spread运算符,它是有效的,但如果您显式地传递了道具,它只是作为一个占位符,用于演示目的,则它是不必要的。另外,研究解构以了解({location})的来源

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

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


export withRouter(MyComponent);

使用
react路由器dom

如果您使用的是功能组件,请从此处导入
useLocation
hook:

从'react router dom'导入{useLocation}

然后将其附加到变量:

Const location=useLocation()

然后,您可以正常使用它:

location.pathname

注意:返回的
位置
对象只有五个属性:


{hash:,key:,pathname:“/”search:”,state:undefined_uuu,}
只需像这样解构locaton:
({location})

这应该是可以接受的答案。ESLint正确地让您知道您正在编写弱代码。其他两个答案(包括已接受的答案)并不能解决问题,只会禁止ESLint告诉您有关此问题的信息。实际上,解决此问题的正确方法是在location前面加上window.location。出于某种原因,CRA团队目前认为
位置
是一个“令人困惑的全局浏览器”。我想说,如果你正在使用CRA,并且不知道位置对象,那么你是在无人区。也许他们只是想让阅读url变得烦人,这是可以理解的……我创建了一个github问题,专门询问
位置
对象是否真的是一个令人困惑的全局浏览器,因此需要
窗口。
前缀无处不在。。。当将服务人员内联为blob时,createreact应用程序项目是一个很好的解决方案。向上投票。这并不能解决问题,只是隐藏了警告。这并不能提供问题的答案。一旦你有足够的钱,你将能够;相反-