2017-03-02 2 views
0

Ich beginne zu lernen, reagieren, und ich möchte in einem einfachen Projekt zu reagieren Router zu integrieren. Der Code ist:Cant Setup reagieren Router

var React = require('react'); 
var ReactDOM = require('react-dom'); 
var Router = require('react-router'); 
var Route = Router.Route; 
var hashHistory = Router.hashHistory; 
var IndexRoute = Router.IndexRoute; 

var APP = require('./components/APP'); 
var Map = require('./components/Maps'); 
var Graph = require('./components/Graph'); 



var routes = (
    <Router history={hashHistory}> 
    <Route path="/" component={APP}></Route> 
    <Route path="maps" component={Maps}></Route> 
    <Route path="graph" component={Graph}></Route> 
    </Router> 
) 

ReactDOM.render(routes, document.getElementById('react-container')); 

Aber ich die folgende Fehlermeldung erhalten: Warnung: React.createElement: Typ ist ungültig - ein String erwartet (für eingebaute Komponenten) oder eine Klasse/Funktion (für Composite-Bauteile) aber habe: Objekt.

Dank

+0

Wahrscheinlich ist der Weg, den Sie importieren/Ihre Komponenten zu exportieren. – Hosar

Antwort

1

Die Router-Komponente ist nicht der Standard-Export der 'reagieren-Router' Bibliothek. Das Objekt Router in Ihrem Code ist nur ein Wrapper-Objekt, das die Teile der Bibliothek "react-router" enthält, einschließlich der Komponenten Router und Route. So greifen die Router Komponente die gleiche Art und Weise Sie den Zugriff auf die Route Komponente:

var router = require('react-router'); 
var Router = router.Router; 
var Route = router.Route;