2017-03-03 11 views
1

React Routeコンポーネントを使用してルーティング設定を指定しようとしています。これは私がやっている基本的には次のとおりです。React RouteコンポーネントTypeError:履歴が定義されていません

ReactDOM.render(
    <ReactRouter.Router> 
     <ReactRouter.Route path="/" component={App}> 
     </ReactRouter.Route> 
    </ReactRouter.Router>, 
    document.querySelector("#container") 
); 

Complete version in JSFiddle

タイプエラーで上記の結果:

TypeError: history is undefined

すべてはのbodyに常駐text/babelスクリプトタグ内にありますhtmlドキュメント。私は、文書のheadに次のスクリプトタグを追加することにより、をインポートしています:

<script src="https://npmcdn.com/react-router/umd/ReactRouter.js"></script> 

を使用していないときに私のアプリケーションが正常に動作します。

ReactDOM.render(
    <App/>, 
    document.querySelector("#container") 
); 

アムは、私が間違っているコンポーネントを使用した:それは、次のコードでは、タイプエラーにはなりません、ありますか?私は何が欠けていますか?

+0

JSFiddleにコードを投稿してください。または、反応ルータの非ミニバージョンを使用してみてください、エラーがもっと意味がある可能性があります – Nomad

+0

@ノマド、私はJSFiddleへのリンクを追加しました。今私は、反応ルータの非縮小バージョンを使用しているとエラーは、歴史は未定義であると言います。私の質問の更新版を見てください。コメントありがとう。 – snakile

+0

''の中でヒストリをpropとして渡す必要があります。こちらをご覧ください:https://github.com/reactjs/react-router-tutorial/tree/master/lessons/02-rendering-a-routef –

答えて

1

追加してみて、それができるbrowserHistoryまたはhashHistoryはあなたの構造に依存します。詳しくはdocumentation

ReactDOM.render(
    <ReactRouter.Router history={ReactRouter.hashHistory}> 
     <ReactRouter.Route path="/" component={App}> 
     </ReactRouter.Route> 
    </ReactRouter.Router>, 
    document.querySelector("#container") 
); 
1

あなたはためhistoryを提供する必要が<ReactRouter.Router history={ReactRouter.hashHistory}>

関連する問題