我正在使用React和Redux来开发一个webapp,当我启动我的项目时,我得到了这个:
Line 13: Unexpected use of 'location' no-restricted-globals
Search for the keywords to learn more about each error.
我搜索了很多关于如何解决它的问题,但我发现的答案都没有帮助我,所以我转向Stack溢出。
有谁知道如何解决此错误?我很感激能得到的所有帮助。
答案 0 :(得分:184)
尝试在Public Shared Function CaseLookup(numArray As Array, lookupArray As Array, minVal As Double, maxval As Double) As String
Dim result As String = ""
Dim GetNum As Double = MT.GenerateDouble(minVal, maxval)
If numArray.Length <> lookupArray.Length Then 'Checks to make sure the arrays are the same length
Throw New Exception("numArray and lookupArray MUST be the same length!")
Exit Function
End If
For i = 0 To numArray.Length - 1
If GetNum < numArray(i) Then result = lookupArray(i).ToString()
Next i
Return result
End Function
之前添加window
(即location
)。
答案 1 :(得分:0)
这是一个简单的,也许不是最好的解决方案,但它确实有效。
在该行上方的行中,您会收到错误:
//eslint-disable-next-line
答案 2 :(得分:0)
/* eslint no-restricted-globals:0 */
是另一种替代方法
答案 3 :(得分: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);
答案 4 :(得分:0)
对我来说,我在历史和位置方面遇到了问题... 作为使用历史和位置之前的窗口的公认答案,(即window.history和window.location )解决了我的问题
答案 5 :(得分:0)
使用react-router-dom
库。
如果要使用功能组件,请从此处导入useLocation
钩子:
import { useLocation } from 'react-router-dom';
然后将其附加到变量:
Const location = useLocation();
然后您可以正常使用它:
location.pathname
P.S:返回的location
对象仅具有五个属性:
{ hash: "", key: "", pathname: "/" search: "", state: undefined__, }
答案 6 :(得分:-2)
只需像这样解构位置:({location})
。