2017-03-02 99 views
0

我开始学习反应,我想在一个简单的项目中集成反应路由器。该代码是:无法安装反应路由器

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')); 

但我收到以下错误: 警告:React.createElement:类型无效 - 预期字符串(内置组件)或类/功能(复合组件)但得到了:对象。

感谢

+0

也许是你在导入/导出你的组件的方式。 – Hosar

回答

1

路由器组件不是“反应路由器”库的默认出口。代码中的Router对象只是包含“react-router”库的包装对象,包括RouterRoute组件。所以访问Router成分相同的方式,您所访问的Route组件:

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