tho*_*ght 1 javascript reactjs
我试图在我的React.js组件的componentWillMount()中使用此函数.但是浏览器说window.decodeURIComponent(...)不是一个函数,我不明白.任何人都可以告诉我如何让它工作?谢谢
export const getUrlQuery = window => {
let queryDict = {}
if (window.location.search) {
window.location.search.substr(1).split("&").forEach((item) => {
let s = item.split("=")
let key = s[0]
let value = s[1] && window.decodeURIComponent(s[1])
(queryDict[key] = queryDict[key] || []).push(value)
})
}
return queryDict
}
Run Code Online (Sandbox Code Playgroud)
有趣的错误,事实证明该let value = ..行被解析为
let value = s[1] && window.decodeURIComponent(s[1])(queryDict[key] = queryDict[key] || []) ..
Run Code Online (Sandbox Code Playgroud)
换句话说,您将括号表达式应用于结果window.decodeURIComponent(s[1]),即字符串而不是函数.你可以用一个明确的分号来修复它(一般来说这不是一个坏主意):
let value = s[1] && window.decodeURIComponent(s[1]);
Run Code Online (Sandbox Code Playgroud)
UPD:看看代码在做什么,你可能会对qs npm包感兴趣.
| 归档时间: |
|
| 查看次数: |
262 次 |
| 最近记录: |