javascript - React-Router 外部链接

标签 javascript reactjs redirect react-router react-router-redux

由于我在 React 应用程序中使用 react-router 来处理我的路由,我很好奇是否有一种方法可以重定向到外部资源。

说有人打:

example.com/privacy-policy

我希望它重定向到:

example.zendesk.com/hc/en-us/articles/123456789-Privacy-Policies

我发现在我的 index.html 加载中避免用纯 JS 编写它的帮助完全为零,例如:

if ( window.location.path === "privacy-policy" ){
  window.location = "example.zendesk.com/hc/en-us/articles/123456789-Privacy-Policies"
}

最佳答案

这是使用 React Router 重定向到外部链接的单行代码:

<Route path='/privacy-policy' component={() => { 
     window.location.href = 'https://example.com/1234'; 
     return null;
}}/>

它使用 React 纯组件概念将组件代码缩减为单个函数,而不是渲染任何内容,而是将浏览器重定向到外部 URL。

适用于 React Router 3 和 4。

关于javascript - React-Router 外部链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42914666/

相关文章:

javascript - Uncaught TypeError : _this2. props.selectBook 不是函数,自动复制这个

redirect - Cloudflare 将所有内容从 domain1.com 重定向到 domain2.com

apache - httpd 使用 SSL 和子域/虚拟主机重定向

javascript - 固定在动画滚动上的双菜单

javascript - Angular 2 中的过滤器 ngFor 循环

javascript - js/jquery/其他库插件来转换 HTML->XML

redirect - nginx 重定向取决于主机

javascript - 自定义 CSS 复选框 jQuery 诱导的 "checked"属性在视觉上不显示 "check"复选框

javascript - 使用 toJson 和不使用它进行测试

reactjs - 在 create-react-app 中禁用 WebSocket