0

Ich versuche, die Seite auf eine andere Komponente umzuleiten, und ich bekomme did not match any route Fehler.reagieren Router hat keine Routen

Reagieren Router Version:

"react-router": "2.4.0", 
"react-router-redux": "4.0.4", 

Webpack.config Datei: Ausgabe:

output: { 
    path: __dirname + '/dist', 
    publicPath: '/SurveyMaintenance/', 
    filename: 'bundle.js' 
    } 

App Start:

import {Router, browserHistory} from 'react-router'; 
import routes from './routes'; 

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

meine Route.js Datei:

<Route path="SurveyMaintenance/" component={App}> 
     <IndexRoute component={SurveyMaintenancePage}/> 
     <Route path="surveydetail/:id" component={EditSurveyPage} /> 
    </Route> 

Link-Element:

<Link to={`surveydetail/${survey.Id}`} onClick={editSurvey}></Link> 

Fehler: enter image description here Adresse: enter image description here

die Adresse korrekt aussieht, aber es ist immer noch diesen Fehler zu werfen, wenn eindeutig eine Komponente an diese Adresse zugeordnet ist. Ich muss etwas falsch machen.

Antwort

0

i Dieses Problem wurde gelöst, indem einfach ein '/' vor dem Umfragedetail hinzugefügt wurde. so was.

<Route path="SurveyMaintenance" component={App}> 
      <IndexRoute component={SurveyMaintenancePage}/> 
      <Route path="/surveydetail/:id" component={EditSurveyPage} /> 
     </Route> 

<Link to={`surveydetail/${survey.Id}`} onClick={editSurvey}></Link> 
0

Sie benötigen vollständigen Pfad zu verwenden und nicht den Schrägstrich benötigen, müssen Sie auch publicPath: '/'

<Route path="SurveyMaintenance" component={App}> 
      <IndexRoute component={SurveyMaintenancePage}/> 
      <Route path="surveydetail/:id" component={EditSurveyPage} /> 
     </Route> 

setzen -

<Link to={`/SurveyMaintenance/surveydetail/${survey.Id}`} onClick={editSurvey}></Link> 

wenn Sie publicPath verwenden möchten, können Sie müssen Sie einen Basisnamen für Ihren Verlauf hinzufügen How to configure a basename in React Router 3.x

+0

ich nur versucht, was Sie empfohlen und die Adresse, wenn: http: // localhost: 3000/SurveyMaintenance/SurveyMaintenance/surveydetail/449 – vineeth

+0

bitte die Update-Antwort sehen, müssen Sie basePath setzen: '/' oder füge basename zu react-router hinzu – Kossel

+0

warte es hat funktioniert aber die URL ist falsch – vineeth

Verwandte Themen