簡體   English   中英

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

[英]React.js global variables erasing on routing

我是 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')

您可以在此處閱讀有關如何檢索歷史記錄對象的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM