2016-12-06 20 views
-1

に動作していない:反応し、ルータのナビゲーションは、私がこのような別のルートに移動しようとしている

import React from 'react'; 
import { browserHistory } from 'react-router' 

class MyComponent extends React.Component { 

    navigate() { 

     browserHistory.push('/some-page') 

    } 

    render() { 
     return (   
      <button onClick={this.navigate.bind(this)} />Navigate</button> 
     ); 
    } 

} 

export default MyComponent; 

マイルートの設定:ブラウザは確かにありませんで、これはURLを実行

ReactDOM.render(
    <Router history={hashHistory}> 
     <Route path='/' component={Layout}> 
      <IndexRoute component={Home}></IndexRoute> 
      <Route path='/some-page' component={SomePage}></Route> 
     </Route> 
    </Router>, 
    document.getElementById('app') 
); 

変化はありますが、それは起こるすべてについてです。私は実際にそのルートに向けられていません。私は行方不明のものがありますか?

+0

ルートファイルを表示できますか? –

+0

browserHistoryを宣言してhashHistoryを使用したのはなぜですか? –

答えて

2

一貫性が必要です。あなたのルータにはhashHistoryと宣言しましたが、実際のルーティングにはbrowserHistoryを使用しています。

ハッシュ履歴は '#/'の後にパスを追加しますが、browserHistoryは最新のHTML5プッシュ状態を使用してリクエストを行わずに実際にURLを変更します。

それぞれは、彼らが想定していることをしていますが、何かを聞いて何か他のことを言っています;)

関連する問題