javascript - react-router-redux 重定向到绝对 url

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

我正在迁移一个 React 应用程序,我正在尝试拆分它。基本上,我想将一些客户端 react 路由重定向到绝对 url(或相对,但至少进行服务器往返,反向代理完成)

注意

现在一切都在 react 中。

路由看起来像这样:

<Provider store={store}>
  <Router history={history}>
    <Route path="/" component={Root}>
      <IndexRoute component={Home} />
      <Route path="/someroute1" component={Route1} />
      <Route path="/someroute2" component={Route2} />
      <Route path="/someroute3" component={Route3} />
    </Route>
  </Router>
</Provider>

目标是重定向,比如说,路由“/”和“/someroute2”到静态 url(服务器 url)。这样:

问题很简单:是否有可能以一种干净的方式替换具有绝对 url 的 React 路由器路由?

我听说过 Redirect 和 IndexRedirect 组件,但我不知道如何正确使用它,而且由于缺少 react/react-router,我不知道是否会有任何危险的副作用(例如在历史上)。

最佳答案

使用Routerender 属性代替component。这样,您可以指定要调用的函数而不是要实例化的组件。在函数中,使用 window.location.href 以老式方式执行导航:

<Route 
  path="/someroute2" 
  render={() => {
    window.location.href = "http://anotherhost/anotherroute5";
    return null;
  }} 
/>

关于javascript - react-router-redux 重定向到绝对 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47904283/

相关文章:

ruby - Rack URL 映射

javascript - 在我的静态菜单上嵌入 facebook 渲染

javascript - 根据选择框更改 jquery 变量的值

JavaScript 说 10 小于 9

Javascript 简单切换不起作用

Reactjs、Redux - redux-persist

javascript - 如何使用 Normalizr 为递归模型定义模式

php - Laravel 中添加路由名称前缀而不添加 URI 前缀

javascript - onchange输入框只允许数字和一个点

css - 无法访问子元素中的样式表