react-router-dom多路由共用一个组件时,切换页面地址,页面不刷新的问题

当多个路由使用同一个组件的时候,切换路由的时候,页面组件不重新构建,页面也不刷新当切换路由的时候,只是重新render,并不重新构建,如果需要路由切换的时候,组件重新构建,重新完成一次生命周期,则需要给组件加上key
路由不需要修改,我们只需要修改组件,给组件加上key,让router的path属性(params)指向组件的key,就可以实现,组件的重构
export default (props)=><User {…props} key={props.location.pathname} />
这里的props.location.pathname就是router的path属性的值,这样就实现了,router的path属性指向组件的key
这样切换路由的时候,即可完成组件的刷新(重构)
参考地址 当多个使用同一个组件的时候,切换页面地址,页面不刷新的问题

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理