我是React.js的新手,正在尝试弄清楚如何正确使用全局变量。
在这里,我在App.js中定义了一个全局变量以及导入window.$cart = ""
当我在网站的另一个页面中更改它时,它会正确更改为我想要的内容,但是当我的React-router只需单击一下即可将用户重定向到另一个页面,例如:
<Router>
<Switch>
<Route exact path="/" component={Main} />
</Switch>
</Router>
似乎此全局变量将自身重新定义为空字符串。
我该如何预防?
最佳答案
确保以不重新加载整个页面的方式执行重新路由。如果重新加载页面,则所有全局变量当然都会被重置。
如果使用以下任何一项,将重新加载整个页面:
<a href="ru"/>
window.location = "ru"
相反,您应该访问react-router提供的
history
对象,然后调用:history.push('ru')
您可以阅读here
关于如何检索历史对象。
关于javascript - 在路由上删除React.js全局变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60870392/