ich kann nicht herausfinden, warum dies nicht meine Route für die CompanyDetailContainer
ist passend. Die Route für Interview Behälter funktioniertStrecke ist nicht abgestimmt
<IndexRoute component={HomePageContainer} />
<Route component={InterviewContainer} name="interview" path="interviews/companies/:companyId" />
<Route component={CompanyDetailContainer} name="companydetail" path="interviews/companies/:companyId/details" />
so http://localhost:8080/interviews/companies/10
trifft die interview
Strecke in Ordnung, aber http://localhost:8080/interviews/companies/501/details
trifft nicht die companydetail
Route
UPDATE:
Ich verwende:
"react-router": "^3.0.0",
"react-router-dom": "^4.2.2",
Originalcode:
import { IndexRoute, Router, Route, browserHistory } from 'react-router';
<Router history={browserHistory} onUpdate={onUpdate}>
<Route path="/">
<IndexRoute component={HomePageContainer} />
<Switch>
<Route exact component={InterviewContainer} name="interview" path="interviews/companies/:companyId" />
<Route exact component={CompanyDetailContainer} name="companydetail" path="interviews/companies/:companyId/details" />
</Switch>
<Route component={About} name="about" path="about" />
<Route component={JobList} name="jobs" path="jobs" />
</Route>
<Route component={Container} path="/" />
<Route component={NotFound} path="*" />
</Router>
Zugabe nur genau zu dem, was ich hatte nicht funktioniert:
import { IndexRoute, Router, Route, browserHistory } from 'react-router';
<Router history={browserHistory} onUpdate={onUpdate}>
<Route path="/" component={HomePageContainer}>
<Route component={InterviewContainer} exact name="interview" path="interviews/companies/:companyId" />
<Route component={CompanyDetailContainer} exact name="companydetail" path="interviews/companies/:companyId/details" />
<Route component={About} name="about" path="about" />
<Route component={JobList} name="jobs" path="jobs" />
<Route component={Container} path="/" />
<Route component={NotFound} path="*" />
</Route>
</Router>
Dann habe ich versucht Schalter um es hinzuzufügen:
import { Router, Route, Switch, browserHistory } from 'react-router';
<Router history={browserHistory} onUpdate={onUpdate}>
<Switch>
<Route path="/" component={HomePageContainer}>
<Route component={InterviewContainer} exact name="interview" path="interviews/companies/:companyId" />
<Route component={CompanyDetailContainer} exact name="companydetail" path="interviews/companies/:companyId/details" />
<Route component={About} name="about" path="about" />
<Route component={JobList} name="jobs" path="jobs" />
<Route component={Container} path="/" />
<Route component={NotFound} path="*" />
</Route>
</Switch>
</Router>
Und jetzt bekomme ich diesen Fehler: Cannot read property 'createRouteFromReactElement' of undefined
. Ich habe bemerkt, dass mein Import für Switch
nicht auflöst, aber das ist, wie Sie Switch
richtig importieren?
auch nicht sicher, ob alle diese Strecken sollten Teilwege <Route path="/" component={HomePageContainer}>
sein? Beachten Sie, dass ich auch die <IndexRoute />
per Vorschläge entfernt habe.
Versuchen Sie, die "genaue" Stütze der Interviewroute hinzuzufügen, sonst wird es immer zuerst übereinstimmen, bevor die Details Route Pfad ausgewertet wird –
Sieht aus wie Sie eine Version von RR vor v4 verwenden ... beim Posten von Fragen, versuchen Sie es Spezifizieren Sie die Version, besonders im Falle von React Router. – Dane
Wenn ich mir die Versionsinfo ansehe, denke ich, dass Sie einen Fehler machen, indem Sie verschiedene Versionen von "react-router" und "react-router-dom" importieren. Siehe diesen Thread: https://github.com/ReactTraining/reac-router/issues/4648#issuecomment-284479720 ** Lange Rede kurzer Sinn, müssen Sie nur "react-router-dom", nicht beide importieren ** – Dane