React.js全局变量在路由上擦除



我是React.js的新手,正在努力找出如何正确使用全局变量。

这里我有一个在App.js中定义的全局变量以及导入

window.$cart = ""

当我在我的网站的另一个页面上更改它时,它会正确地更改为我想要的任何内容,但当我的React路由器通过点击将用户重定向到另一个网页时,比如:

<Router>
<Switch>
<Route exact path="/" component={Main} />
</Switch>
</Router>

这个全局变量似乎将自己重新定义为一个空字符串。

如何防止这种情况发生?

确保以不会重新加载整个页面的方式执行重新路由。如果页面被重新加载,所有全局变量当然都会被重置。

如果您使用以下任一项,整个页面将被重新加载:

<a href="ru"/>
window.location = "ru"

相反,您应该访问react路由器提供的history对象,然后调用:

history.push('ru')

你可以在这里阅读关于如何检索历史记录对象。

相关内容

  • 没有找到相关文章

最新更新