我正在使用React和Redux开发一个web应用程序,当我开始我的项目时,我得到了这个:

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

Search for the keywords to learn more about each error.

我搜索了很多关于如何解决这个问题的方法,但我找到的答案都对我没有帮助,所以我求助于Stack overflow。

有人知道如何修复这个错误吗?我很感激我能得到的所有帮助。


当前回答

也许您可以尝试将位置作为道具传递到组件中。 下面我使用……otherProps。这是展开运算符,有效但没有必要,如果你显式地传入你的props,它只是作为一个占位符用于演示。此外,研究解构来了解({location})来自哪里。

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

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


export withRouter(MyComponent);

其他回答

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

是另一种替代方法

也许您可以尝试将位置作为道具传递到组件中。 下面我使用……otherProps。这是展开运算符,有效但没有必要,如果你显式地传入你的props,它只是作为一个占位符用于演示。此外,研究解构来了解({location})来自哪里。

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

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


export withRouter(MyComponent);

下午好,在你的文件顶部复制以下一行:

/* eslint-disable no-restricted-globals */

这将允许您在特定文件上全局禁用eslint规则。

这是一个简单的,也许不是最好的解决方案,但它是有效的。

在你得到错误的那一行上面,粘贴这个:

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

尝试在location(即window.location)之前添加window。