在 React-Redux-Router 中避免使用 Concat URL

Posted

技术标签:

【中文标题】在 React-Redux-Router 中避免使用 Concat URL【英文标题】:Avoid Concat URL in React-Redux-Router 【发布时间】:2017-05-11 12:33:06 【问题描述】:

我在我的应用程序中使用 react-router + react-router-redux。 我想要实现的是每次用户单击dashboard 中的选项卡时,它会将 URL 更改为 /dashboard/messages,例如。

但是,使用push('dashboard/' + page),每次我点击一个标签时,它都会附加链接。

我现在的情况:

    当前网址是/dashboard。 单击消息选项卡。 网址变为/dashboard/messages。 单击主页选项卡。 网址变为/dashboard/messages/dashboard/home

当我们点击消息标签后点击主页标签时,有什么方法可以将/dashboard/messages 替换为/dashboard/home

非常感谢!

【问题讨论】:

【参考方案1】:

我发现了这个愚蠢的错误,对此感到抱歉。

显然它必须是push('/dashboard/' + page) 而不是push('dashboard/' + page)

【讨论】:

【参考方案2】:

如果您从react-router-dom 的角度进入这里,请注意<Link to='stringUrl' /> 将您放在to 属性上的任何内容连接到当前path。因此,如果您当前在/home 路径上,它将产生/home/StringUrl 作为结果。

但是,如果您改为使用正斜杠 /,即 <Link to='/stringUrl' />,则不会这样做,从而产生 /StringUrl 路径。

【讨论】:

【参考方案3】:

使用这个

push('/dashboard/' + page)

【讨论】:

为什么不呢?这回答了这个问题。他甚至在一秒钟后用相同的解决方案再次回答。

以上是关于在 React-Redux-Router 中避免使用 Concat URL的主要内容,如果未能解决你的问题,请参考以下文章

获取`元素类型无效:使用react-redux-router时预期出现字符串`错误

如何避免 keyPress 方法使我的绘图在处理 3 中永久化?

如何使 FAB 避免在 ViewPager 中移动,但又是其中的片段的一部分?

全局组件使用以避免代码重复(Nativescript-Vue)

如何使特定程序仅从安装路径运行以避免 DLL 劫持

使用 onclick 使 svg 图像对象可点击,避免绝对定位