2017-02-15 3 views
0

Я пытаюсь установить ReactRouter для создания приложения с одной страницей с помощью ReactJS. Однако у меня проблема с настройкой маршрутизатора.ReactJS Router - React.createElement: недопустимый тип

Неисправность: тип элемента недействителен: ожидается строка (для встроенных компонентов) или класс/функция (для составных компонентов), но получен: объект.

Это мой код.

'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

Если вы используете среагировать-маршрутизатор v1.0 или выше, handler устарела. Попробуйте использовать вместо component:

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

Здесь апгрейд руководство ссылки RouteHandler

Смежные вопросы