0

私は非常に単純なプロジェクトを持っており、リアクションルータdomはコンポーネントをレンダリングしていません。時には、最初のルートのコンポーネントをレンダリングしますが、レンダリングしません。ここでリアクタールータDomはコンポーネントをレンダリングしません

はApp.jsのためのコードです:

import React, { Component } from 'react'; 
import { Provider } from "react-redux"; 
import { 
    BrowserRouter as Router, 
    Route 
} from "react-router-dom"; 

import store from "./store"; 
import createHistory from 'history/createBrowserHistory'; 

import { IntroJm } from './components/intro/jm'; 
import { IntroNfc } from './components/intro/nfc'; 
import { IntroTxn } from './components/intro/txn'; 

import './assets/sass/main.scss'; 
import './static/css/main.scss'; 
import './static/css/pure.min.scss'; 
import './App.scss'; 

let browserHistory = createHistory(); 

class App extends Component { 

    componentDidMount() { 
    browserHistory.push("/intro/jm"); 
    } 

    render() { 
    return (
     <Provider store={store}> 
     <div> 
      <Router> 
      <div> 
       <Route path="/intro/jm" component={IntroJm} /> 
       <Route path="/intro/nfc" component={IntroNfc} /> 
       <Route path="/intro/txn" component={IntroTxn} /> 
      </div> 
      </Router> 
     </div> 
     </Provider> 
    ); 
    } 
} 

export default App; 

すべてのルートコンポーネントのみspanタグを持つ単純なコンポーネントです。

+0

てみthis.props.history.push()

のルートを変更してみてください助けてください。私はこれをもう一度試みた。しかし、その反応ルータドーム以来、とにかく必要はありません –

+0

コードは私にはうまく見えます..あなたはそのcomponentDidMount関数を取り除き、リンクコンポーネントを使用してナビゲートできますか? – azium

+0

私はこれを試しました。その場合、最初のコンポーネントがレンダリングされ、最初にナビゲートします。しかし、他のコンポーネントはレンダリングされません。 –

答えて

0

あなたはWithRouterを使用してコンポーネントをラップして、動作していない

import React, { Component } from 'react'; 
import { Provider } from "react-redux"; 
import { 
    BrowserRouter as Router, 
    Route 
} from "react-router-dom"; 
import {withRouter} 'react-router'; 

import store from "./store"; 

import { IntroJm } from './components/intro/jm'; 
import { IntroNfc } from './components/intro/nfc'; 
import { IntroTxn } from './components/intro/txn'; 

import './assets/sass/main.scss'; 
import './static/css/main.scss'; 
import './static/css/pure.min.scss'; 
import './App.scss'; 

let browserHistory = createHistory(); 

class App extends Component { 

    componentDidMount() { 
    this.props.history.push("/intro/jm"); 
    } 

    render() { 
    return (
     <Provider store={store}> 
     <div> 
      <Router> 
      <div> 
       <Route path="/intro/jm" component={IntroJm} /> 
       <Route path="/intro/nfc" component={IntroNfc} /> 
       <Route path="/intro/txn" component={IntroTxn} /> 
      </div> 
      </Router> 
     </div> 
     </Provider> 
    ); 
    } 
} 

export default withRouter(App); 
+0

この回答を確認する機会を得ましたか?助けてくれたの? –

関連する問題