2016-08-08 4 views
0

Ich spreche wenig english, sorry zuerst.Warnung: Fehlgeschlagener Stützentyp: Ungültige Stütze "Komponente" an "Route" geliefert. & Warnung: [react-router] Ort "/" hat keine Route gefunden

Ich habe einige ähnliche Fragen gesucht, aber nicht helfen. Ich kann nicht herausfinden, was passiert, ich bin fast 1 Stunde.

Ich beginne mein Projekt mit neusten Yeoman & Generator-react-Webpack.

Ein Fehler ist immer vorhanden. In der Browserkonsole.

Warning: Failed prop type: Invalid prop `children` supplied to`Router`. 
Warning: [react-router] Location "/" did not match any routes 

hier ist index.js.

import 'core-js/fn/object/assign'; 
import React from 'react'; 
import ReactDOM from 'react-dom'; 
import {Router, Route, hashHistory, IndexRoute} from 'react-router'; 

import IndexPage from './components/IndexPage'; 
import Pages from './components/Pages'; 

ReactDOM.render((
    <Router history={hashHistory}> 
     <Route path="/" component={IndexPage} /> 
     <Route path="/pages" component={Pages} /> 
    </Router> 
), document.getElementById('webapp')); 

Hier ist Indexpage.js.

import React, {Component} from 'react'; 
export default class IndexPage extends Component { 
    render() { 
     return (
      <div>1234</div> 
     ) 
    } 
} 

und hier ist pages.js.

import React, {Component} from 'react'; 
export default class Pages extends Component { 
    render() { 
     return (
      <div>9876</div> 
     ) 
    } 
} 

Antwort

0

Auschecken, wenn die Dateinamen und Importanweisungen die richtige Schreibweise haben.

pages.js sollte P ages.js
Indexpage.js sollten Index P age.js

Oder ändern Sie es in den Import-Anweisungen .. seine case-sensitive sein sein.

Die docs sagt, dass Sie Ihre Routen mit einem Haupt Router wickeln müssen/

<Router history={browserHistory}> 
    <Route path="/" component={App}> 

     <Route path="about" component={About}/> 
     <Route path="users" component={Users}> 
     <Route path="/user/:userId" component={User}/> 
     </Route> 
     <Route path="*" component={NoMatch}/> 

    </Route> 
    </Router> 

    // this is the main App component 
    const App = ({children}) => (
    <div id="main-layout">{children}</div> 
) 
+0

Ich habe zuvor überprüft.Kein Problem hier.Ich habe versucht, IndexPage-Komponente ohne Router zu rendern, es ist in Ordnung.Alles geht weiter.BUT, wenn ich die Komponente in Router.OMG einpacken! – sadmark

+0

@sadmark check out meine Bearbeitungen, ich überprüfte die Dokumente für Sie, das sollte der Weg zu gehen – webdeb

+0

Ich bin so dumm! Ich habe gerade das Ploblem bekommen. Der Grund ist, dass ich einige Kommentare innerhalb des Router-Tags WITHOUT {} hinzugefügt habe. DANKE VIELE:) – sadmark

0

Ihre pages.js hat einen falschen Klassennamen. Anstatt es auch als IndexPage aufzurufen, möchten Sie es wie folgt aufrufen: Seiten.

+0

Mein schlechtes! Dies ist ein Fehler, wenn ich meinen Code kopiert habe, aber es ist richtig in meinem Computer. Überprüfte Serval Zeiten vorher. – sadmark

Verwandte Themen