簡單來說,我需要知道 react router dom 是否有類似的東西 History.pushState()
詳細的
我有一個組件,它的初始 url 為/home/1/1. 每次用戶單擊按鈕時,路由都應更改為/home/1/2, /home/1/3。我需要它根據路徑的變化重新渲染。我想不通。現在,我認為History.pushState()可能可行,但仍然想知道有沒有其他解決方案,無論是否有反應路由器 dom
uj5u.com熱心網友回復:
如果您想根據路線渲染您的組件,那么執行 ahistory.push()是正確的解決方案。
如果您使用的是功能組件,則考慮使用useHistory鉤子檢索歷史記錄以推送新路由(參見示例),以及使用useParams鉤子檢索路由引數(參見示例)。
如果您使用的是類組件,那么您可以將您的組件包裝在withRouter高階組件中以訪問歷史記錄并檢索引數(參見示例)。
uj5u.com熱心網友回復:
假設需要重新渲染的組件的路由在路由組件的路徑屬性中定義為“home/1/:id”,例如。
在 YourComponent 中,您可以陷入路由 props 中,并且可以將其添加為 useEffect 的依賴項。您也可以使用“useParams”掛鉤來檢索 params 物件。
const YourComponent = (routerProps) =>{
useEffect(()=>{
//your logic
}, [routerProps.params.id])
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/330795.html
上一篇:通過逗號連接嵌套的單個屬性
