我是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/

10-12 13:22