2017-03-24 21 views
1

ReactアプリケーションでbrowserHistoryを使用する理由はまだlocalhost:3000のページを提供していますが、展開されるとコンソールに何も表示されない空のページが表示されます。反応ルータのブラウザ履歴

しかし、hashHistoryに切り替えると、localhost:3000と私のサイトの両方でうまく動作します。なぜこうなった?私はそれを展開するときに

は、以下のコードは動作しません(browserHistory使用しています):私は反応し、ルータのV3.0を使用してい

import React from 'react'; 
import { Router, Route, IndexRoute, browserHistory } from 'react-router'; 

import App from './components/App'; 
import Home from './components/Home'; 
import Company from './components/Company'; 

const router = (
    <MuiThemeProvider> 
     <StyleRoot> 
      <Router history={browserHistory}> 
       <Route path="/" component={App}> 
        <IndexRoute component={Home} /> 
        <Route path="/company" component={Company} /> 
       </Route> 
      </Router> 
     </StyleRoot> 
    </MuiThemeProvider> 
) 

ReactDOM.render(
    router, 
    document.getElementById('root') 
); 

+0

使用している反応ルータのバージョンを指定してください。 – nbkhope

答えて

2

最初に、React Routerのどのバージョンを使用していますか?バージョン4では、単にクラスを渡すのではなく、BrowserHistoryのインスタンスを作成する必要があります。

ルーティングエラーのために、空白のページがフォールバックページとして表示されている可能性があります。ブラウザのコンソールでエラーメッセージを確認してください。 http://localhost:3000/badurlhttp://localhost:3000<App>の場合は<Home>http://localhost:3000/companyの場合はthis.props.childrenとして<Company>のデフォルトルートを取得する必要があります。

<Route path="*" component={NotFoundPage} />を使用して空白ページを404ページに置き換えることができます。

これらのいずれのヘルプも表示されない場合は、質問を詳細情報で更新してください。

+0

私は反応ルータバージョン3を使用しています。私は実際にコンソールでリソースが見つからないというエラーが表示されています。私のルーティングで何かが起きています。 – patrickhuang94

関連する問題