簡體   English   中英

在每次頁面加載時反應刷新用戶數據

[英]React refresh user data on every page load

我在解決我正在開發的React應用程序中出現問題時遇到問題。 用戶登錄時,它將存儲有關該用戶的信息,例如他們的姓名和角色。 使用此方法,我們可以顯示用戶名,並且顯然可以使用其角色來顯示或隱藏組件。

我無法弄清楚的問題是,如果用戶的名稱更改,或者他們在登錄時角色更改,則信息不會更新。 現在,我可以在每次用戶編輯自己的個人資料時刷新數據,但是如果管理員用戶編輯的是登錄用戶的姓名或角色怎么辦? 在下一次登錄之前,它不會更新。

我考慮過使用withRouter並執行history.listen並在基本App.js上每加載一次頁面時更新用戶信息。 我看到的問題是,它通常先后兩次被REPLACEPUSH調用,所以我不想進行2次API調用。

有沒有辦法只能從路由更改中進行1個API調用? 我應該怎么做呢? 我什至能正確地做到這一點嗎? 是否有更好的方法來解決此問題? 我似乎找不到任何可以幫助我的東西。

您可以創建一個自定義Route組件,該組件在每次重定向時都調用API。 看看這個https://reacttraining.com/react-router/web/example/auth-workflow 在此示例中,“ PrivateRoute”組件用於檢查是否在每個請求中都對用戶進行了身份驗證。 您可以創建一個UpdateUserRoute組件來調用API並檢查用戶數據中的更改。

暫無
暫無

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

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