react-router-dom多路由共用一個組件時,切換頁面地址,頁面不刷新的問題

當多個路由使用同一個組件的時候,切換路由的時候,頁面組件不重新構建,頁面也不刷新
當切換路由的時候,只是重新render,並不重新構建,如果需要路由切換的時候,組件重新構建,重新完成一次生命週期,則需要給組件加上key

路由不需要修改,我們只需要修改組件,給組件加上key,讓router的path屬性(params)指向組件的key,就可以實現,組件的重構

export default (props)=><User {...props} key={props.location.pathname} />

這裏的props.location.pathname就是routerpath屬性的值,這樣就實現了,routerpath屬性指向組件的key

這樣切換路由的時候,即可完成組件的刷新(重構)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章