2017-02-15 84 views
0

我试图让ReactRouter安装程序与ReactJS一起构建单页应用程序。虽然我设置路由器时遇到问题。ReactJS路由器 - React.createElement:类型无效

未捕获错误:元素类型无效:预期为字符串(对于内置组件)或类/函数(对于复合组件),但得到:object。

这是我的代码。

'use strict'; 

const React = require('react'); 
const ReactDOM = require('react-dom') 
const ReactRouter = require('react-router') 
const when = require('when'); 

class App extends React.Component { 

    constructor(props) { 
     super(props); 
    } 

    render() { 
     return (
      <div className="container"> 
       <h1>TEST</h1> 
      </div> 
     ) 
    } 
} 

class Test extends React.Component { 
    render() { 
     return (
      <div className="container"> 
       <h1>TEST PAGE</h1> 
      </div> 
     ) 
    } 
} 

var Router = ReactRouter; 
var DefaultRoute = Router.DefaultRoute; 
var Route = Router.Route; 
var RouteHandler = Route.RountHandler; 

var routes = (
    <Route name="root" handler="{App}" path="/"> 
     <Route handler={Test} path="test" /> 
    </Route> 
) 

ReactDOM.render(<Router>{routes}</Router>, document.getElementById('react')) 

回答

0

如果你使用的反应路由器1.0或者更高,handler已被弃用。尝试使用component代替:

var routes = (
    <Route name="root" component="{App}" path="/"> 
     <Route component={Test} path="test" /> 
    </Route> 
) 

这里的升级指南中参考RouteHandler

相关问题