2016-07-30 10 views
4

Ich habe ein konzeptionelles Problem bezüglich meiner Authentifizierungsseiten.React + React-Router -> Child Routen beste Organisation?

Zur Zeit habe ich dies:

<Route path="/" component={App}> 
    <Route path="login" component={Login} /> 
    <Route path="register" component={Register}/> 
    <Route path="*" component={NoMatch}/> 
</Route> 

Nun würde Ich mag alle 'Seite Auth' meine wickeln in einem übergeordneten Container 'Auth' so ich das tun:

<Route path="/" component={App}> 
    <Route path="/auth" component={Auth}> 
    <Route path="login" component={Login} /> 
    <Route path="register" component={Register}/> 
    </Route> 
    <Route path="*" component={NoMatch}/> 
</Route> 

Das Problem: nun, wenn ich auf die Anmeldungsseite zugreifen möchte, würde ich zu

gehen

/auth/login

Aber ich brauche meinen Login-Seite Aufenthalt auf

/login

Was ist die beste pratice dies zu tun?

Vielen Dank im Voraus für Ihre Hilfe.

Antwort

0

Finaly eine Lösung, die die endgültigen Routen

<Route path="/" component={App}> 
    <Route path="/" component={Auth}> 
    <Route path="login" component={Login} /> 
    <Route path="register" component={Register}/> 
    </Route> 
    <Route path="about" component={About} /> 

    <Route path="*" component={NoMatch}/> 
</Route> 
+0

Sie können auch einfach den Pfad = "/" aus dem zweiten Route-Element weglassen. –

1

Obwohl es für die Rückwärts Vergleichbarkeit bestimmt ist, können Sie nur die Verwendung reagieren-Router Redirect Komponente:

<Route path="/" component={App}> 
    <Route path="/auth" component={Auth}> 
    <Route path="login" component={Login} /> 
    <Route path="register" component={Register}/> 
    </Route> 

    <Redirect from="/login" to="/auth/login" /> 

    <Route path="*" component={NoMatch}/> 
</Route> 
+0

Mit Redirect Komponente fein funktioniert ist/auth/login aber ich brauche/login – texmex44

+0

Warum sollte die letzte Route wichtig sein? –

+0

Die endgültige Route sollte/login sein :) – texmex44

Verwandte Themen