2016-04-05 39 views
4

私は反応ルータで非常に簡単なことをしようとしています。しかし、私はエラーに走り続けます - '未定義のプッシュ'プロパティを読み取ることはできません。これはテストリンクをクリックすると発生します。未定義のプロパティ 'push'を読み取ることができません

import { Router, useRouterHistory, Route } from 'react-router'; 
import { createHashHistory } from 'history'; 
const appHistory = useRouterHistory(createHashHistory)({ queryKey: false }); 

ReactDOM.render(React.createElement(nav), document.getElementById('navComponent')); 

ReactDOM.render((
    <Router history={appHistory}> 
     <Route path="test" component={Test}/> 
    </Router> 
), document.getElementById('mainContainer')); 

ナビゲーションコンポーネント

render() { 
     return (
      <div> 
       <ul> 
       <li><Link to="/test"> Test </Link></li> 
       </ul>  
      </div> 
     ); 
    }; 

テストコンポーネント

render() { 
     return (
      <div> 
       Hello World! 
      </div> 
     ); 
    }; 

誰かが私を助けてくださいことはできますか?ここにはまった。

アップデート1

プッシュが反応し、ルータを

this.context.router.push(_location); 

の一部であるPackage.json

{ 

    "author": "", 
    "license": "ISC", 
    "devDependencies": { 
    "gulp": "^3.9.0", 
    "gulp-sass": "^2.1.1", 
    "gulp-util": "^3.0.7", 
    "imports-loader": "0.6.4", 
    "istanbul-instrumenter-loader": "0.1.3", 
    "jasmine": "2.3.2", 
    "jasmine-core": "2.3.4", 
    "jquery": "1.11.3", 
    "moment": "2.10.6", 
    "react": "0.14.2", 
    "react-addons-test-utils": "0.14.2", 
    "react-dom": "0.14.2", 
    "redux": "3.0.3", 
    "rewire": "2.5.1", 
    "rewire-webpack": "1.0.1", 
    "run-sequence": "^1.1.5", 
    "style-loader": "0.12.4", 
    "underscore": "1.8.3", 
    "webpack-stream": "^3.1.0" 
    }, 
    "dependencies": { 
    "react-router": "^2.0.0", 
    } 
} 

アップデート2私の質問に明確にされていないため申し訳ありません 、私は更新されています私の質問はそれが今より意味をなさないことを願っています

+0

を必要としないはずのpls push' ... – iplus26

+0

あなたは 'package.json'情報やどのようなモジュールがインストールされたのを提供することができます'を含むコードを提供? –

+0

@ iplus26更新された質問を参照してください – GeekOnGadgets

答えて

0

それはwo次のようなrks。解決策を比較してください。基本的には最上位のルートは「/」子供向けとしてパスを持っている「/」

<Router history={appHistory}> 
     <Route path="/" component={Main}> 
      <Route path="test" component={Test}/> 
      <Route path="*" component={Test}/> 
     </Route> 
</Router> 

const Main = ({children, history}) => { 
return (
<div> 
<nav> 
     <div history={history}/> 
     </nav> 
     <div> 
     {children} 
     </div> 
</div> 
) 
} 
関連する問題