2017-02-15 85 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

相關問題