[英]how to prevent location object to reset on reload reactjs
我正在使用 Link 來重新直接調用另一個組件。 像這樣的東西
<Link to={{ pathname: "/app/" + app.appId, appDetail: { app: app } }}>>
在調用路徑 /app/:appId 它調用 AppDetails 組件。 我在 location 對象中獲取 appDetail 對象。
但是在重新加載路線 /app/:appId 時,位置對象中的這個 appDetail 變得未定義。 那么如何防止這種情況發生,以便在重新加載 /app/:appId 時,來自 location 對象的 appDetail 不應未定義
有很多方法可以控制這種行為,這里是一種:嘗試將位置對象放在 if 條件中,例如:
if(!location) {
return <>Loading...</>
}
上述條件將保持執行,直到條件滿足
有state
屬性可以將數據傳遞給其他組件。 所以你可以做這樣的事情:
<Link to={{
pathname: "/app/" + app.appId,
state: { appDetail: { app: app }}
}}>
並在其他組件中獲取appDetail
:
const { appDetail } = this.props.location.state;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.