2017-03-19 3 views
0

Ich versuche, optionale Subrouten mit meinem React Router zu machen, aber egal, was ich suche, kann ich keine Lösung finden, die für mich funktioniert!Navigieren zu optionalen Parametern mit React Router

Ich habe versucht, jede Lösung in dieser Antwort erwähnt: React Router with optional path parameter - nichts hat funktioniert.

So habe ich die folgenden in einer Datei:

render(
    <Provider store={store}> 
    <Router history={browserHistory} routes={routes} /> 
    </Provider> , document.getElementById('app') 
); 

und dann:

export default (
    <Router history={browserHistory}> 
    <Route path={'/'} component ={ApplicationHomePageContainer}></Route> 
    <Route path={'/home'} component ={UserHomePageContainer}></Route> 
    <Route path={'/circle(/:path)'} component ={CirclePageContainer}></Route> 
    </Router> 
) 

ich viele viele verschiedene Ansätze ausprobiert haben, aber was ich zu tun scheinen, die Route /circle/whatever nie macht etwas. Alle anderen funktionieren vollkommen in Ordnung.

Ich benutze React Router Version 2.8.3, ich habe versucht, auf Version 3 zu aktualisieren, aber das hat das Problem nicht gelöst.

Antwort

0

Ich weiß nicht, ob seine gut, aber das ist, wie ich es tun:

<Router history={browserHistory}> 
    <Route path={'/circle'} component ={CirclePageContainer}></Route> 
    <Route path={'/circle/:path'} component ={CirclePageContainer}></Route> 
</Router> 

Dann lasse ich die CirclePageContainer Komponente das Szenario behandeln, wenn kein Parameter ist

0

Nun fand ich heraus, was ich falsch machen.

So hatte ich diese auf meinem Backend:

server.get('/*', function(req, res, next) { 
res.sendFile('index.html', { root: __dirname }); 
}); 

Und ich hatte nur von meinem html-Ordner zu ändern:

<script src="/bundle.js"></script> 

zu

<script src="/bundle.js"></script> 
Verwandte Themen