小编Dan*_*Lee的帖子

'history'、no-restricted-globals 和 window.history

所以我在 React 中遇到了一个问题,如果我尝试使用“历史”,我的代码将不会运行,告诉我这是“意外使用historyno-restricted-global”。

我求助于 StackOverflow 以获得帮助,令人惊讶的是,我能够找到我正在处理的问题的答案。

另一个使用建议的修复效果很好,但现在我很困惑为什么它首先起作用。

使用 redux,我通过 mapDispatchToProps 调用了一个方法。我需要将“历史”作为传入的变量之一放入,以便我可以将用户重定向回他们所在的上一页。

最初,我尝试仅使用“历史”本身作为变量,但是当我尝试编译时会出现“无限制全局”错误,因此我转向 StackOverflow。这是他们建议我尝试使用“window.history”的时候。起初我持怀疑态度,因为我不认为这么简单的东西可以解决我的问题,但瞧,它编译成功。

props.addExperience(data, history);
Run Code Online (Sandbox Code Playgroud)

对比

props.addExperience(data, window.history);
Run Code Online (Sandbox Code Playgroud)

window.history 有效。有人可以解释为什么 window.history 有效但历史本身不起作用吗?

“历史”究竟是什么?'window' 做了什么来解决这个问题?

编辑:是我找到的原始 StackOverflow 帖子。虽然 Chasen Bettinger 能够解决这个问题,但他从未真正解释过窗口的原因。会解决这个问题。如果这里有人能做到这一点,那就太棒了。

javascript reactjs react-router

7
推荐指数
1
解决办法
9251
查看次数

标签 统计

javascript ×1

react-router ×1

reactjs ×1