I'm migrating a react application and I'm trying to split it. Basically, I would like to redirect some client-side react routes to absolute urls (or relative, but at least go with a server roundtrip, where reverse proxying is done)
Note that
- react-router 3.0.0
- react-router-redux 4.0.7
- The app have these urls
- http://myhost/ => homepage
- http://myhost/someroute1 => a first route
- http://myhost/someroute2 => a second route
- http://myhost/someroute3 => a third route
Everything is inside react right now.
Routing looks like this :
<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>
The goal is to redirect, say, routes "/" and "/someroute2" to static urls (server urls). As so :
- http://myhost/ => http://anotherhost/
- http://myhost/someroute1 => keep react routing
- http://myhost/someroute2 => http://anotherhost/anotherroute5
- http://myhost/someroute3 => keep react routing
The question is simple : is is possible to replace, in a clean way, a react router route with an absolute url ?
I heard about Redirect and IndexRedirect components, but I can't figure how to use it properly, and, due to a lack of react / react-router, I can't figure if there would be any dangerous side-effects (in history for example).
render{() => this.props.isLoggedIn ? <Checkout /> : <Redirect />}
using the exact same dumb component for Redirect. It redirects me to the Checkout page, but before it finishes loading - I'm redirected to Redirect page. Props isLoggedIn is updated to true when I login, so it's not that. Any idea?? – Eradis