React中如何替换完整URL地址避免路由路径堆叠问题?
问题原因
- 你给
Link组件传入的to值是相对路径:没有以/开头的路径会被路由解析为「当前页面路径下的子路径」,所以会和当前/videos/1路径拼接,出现路径堆叠的问题。 replace属性仅用于控制跳转时是否替换浏览器历史栈的当前记录,不会影响路径解析逻辑,因此无法解决该问题。
解决方案
直接修改to的路径为绝对路径,在开头加上/即可:
<Link to={`/channels/${channel.channel_name}`}> {channel.channel_name}</Link>
绝对路径以/开头,会直接从站点根路径开始计算,点击后就会跳转到你期望的localhost:3000/channels/Lun路径。
内容的提问来源于stack exchange,提问作者Lun
相关产品推荐
相关产品推荐

