所以我遇到了 React 的一个问题,如果我尝试使用“历史”,我的代码将不会运行,告诉我这是“意外使用history
无限制全局”。
我求助于 StackOverflow 以获得帮助,令人惊讶的是,我能够找到我正在处理的问题的答案。
另一个用途建议的修复效果很好,但现在我很困惑为什么它首先会起作用。
使用 redux,我通过 mapDispatchToProps 调用了一个方法。我需要将“历史”作为传入的变量之一放入,以便我可以将用户重定向回他们所在的上一页。
最初,我尝试仅将“历史”本身用作变量,但是当我尝试编译时会出现“无限制全局”错误,因此我转向 StackOverflow。这是他们建议我尝试使用“window.history”的时候。起初我持怀疑态度,因为我不认为这么简单的东西可以解决我的问题,但是你瞧,它编译成功了。
props.addExperience(data, history);
对比
props.addExperience(data, window.history);
window.history 有效。有人可以解释为什么 window.history 有效但 history 本身不起作用吗?
“历史”究竟是什么?'window' 做了什么来解决这个问题?
编辑:这是我找到的原始 StackOverflow 帖子。虽然 Chasen Bettinger 能够解决这个问题,但他从未真正解释过窗口的原因。会解决这个问题。如果这里有人能做到这一点,那就太棒了。