claudiopb
claudiopb

Reputation: 1100

ReactJS - issue about Router

I have a component that imports a Router and it isn't working and there isn't any error message. The pages aren't appearing on the browser. It is a course s' app. Because of the fact that this course is a bit old, some things could be overpast. Here are the codes of my components:

import '../common/template/dependencies'
import React from 'react'    

import Routes from './Routes'

export default props => (
  <div className='wrapper'>   
    <div className='content-wrapper'>
     <Routes />
     </div>
  </div>
)

The component Routes.js that does the routing:

import React from 'react'
import {Router, Route , Redirect, hasHistory} from 'react-router'

import Dashboard from '../dashboard/Dashboard'
import BillingCycle from '../billingCycle/BillingCycle'

export default props => (
  <Router history={hasHistory}>
    <Route path='/' component={Dashboard} />
    <Route path='/billingCycles' component={BillingCycle} />
    <Redirect from='*' to='/' />
  </Router>
)

When I comment this line of the component above, everything works well.

  {/*<Routes />*/}

Upvotes: 2

Views: 96

Answers (2)

Kaushal Regmi
Kaushal Regmi

Reputation: 118

import React from 'react'
import {BrowserRouter as Router, Route, Redirect, Switch} from 'react-router-dom';
import Dashboard from './DashBoard';
import BillingCycle from './BillingCycle'

export default props => (
    <Router>
        <Switch>
            <Route exact path='/' component={Dashboard}/>
            <Route exact path='/billingCycles' component={BillingCycle}/>
            <Redirect from='*' to='/'/>
        </Switch>
    </Router>

)

Check your code does hasHistory is available in new version react-router. Also you should use react-router-dom. Hope this helps..

Upvotes: 3

Pranay Aryal
Pranay Aryal

Reputation: 5396

Use react-router-dom

Change your import in Route.js like this:

import {BrowserRouter as Router, Route} from 'react-router-dom'

Upvotes: 0

Related Questions