2017-03-02 17 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

ルータコンポーネントは、 'react-router'ライブラリのデフォルトエクスポートではありません。コード内のRouterオブジェクトは、RouterRouteの両方のコンポーネントを含む 'react-router'ライブラリを含むラッパーオブジェクトに過ぎません。ですから、RouteコンポーネントアクセスしているRouterコンポーネントと同じ方法でアクセスします。

var router = require('react-router'); 
var Router = router.Router; 
var Route = router.Route; 
関連する問題