【问题标题】:How to redirect to external url using .push redux-router?如何使用 .push redux-router 重定向到外部 url?
【发布时间】:2021-04-05 15:33:40
【问题描述】:

我有Card,它在点击时重定向到外部 URL。但我需要使用redux-router.push 命令,而不是使用location.href。我该怎么做?

简单的代码示例:

<Card 

return (
  title={props.title}
  onClick={() => {
    location.href='www.example.com'
  }}
)

如果我使用这个props.navigate('www.example.com'),它会像本地主机上的参数一样返回 URL。

【问题讨论】:

    标签: reactjs url react-router redux-router


    【解决方案1】:

    您不能使用 react-router 中的 Linkhistory.push 重定向到外部站点。您可以使用window.location.hrefwindow.location.replace

    来自history

    我们不支持在域外重定向。一般来说,您应该分别处理对外部 URL 的重定向。

    来自Link

    &lt;Link/&gt; 是路由器感知锚点,如果您想链接到外部站点,请使用 &lt;a/&gt;

    编辑:

    Redux-Router 在内部使用 historyreact-router 包,因此也无法使用外部重定向。

    【讨论】:

      【解决方案2】:

      如果你想让整张卡片都可以点击,你也可以试试 -

      &lt;a href="www.example.com" target="_blank"&gt;&lt;Card /&gt;&lt;/a&gt;

      由于您正在尝试移出当前应用程序,因此您是否使用 react 路由器并不重要。

      【讨论】:

      • 这是一个简单的代码示例,我正在用多张卡片映射数据,并且 url 会根据卡片而变化,所以我不能这样做。
      • 你能在codesandbox.io上创建一个例子吗?
      猜你喜欢
      • 2017-10-31
      • 2019-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-02
      • 1970-01-01
      相关资源
      最近更新 更多