У меня есть компонент, который импортирует маршрутизатор, и он не работает, и нет никаких сообщений об ошибках. Страницы не отображаются в браузере. Это приложение курса. Из-за того, что этот курс немного устарел, некоторые вещи могут быть упущены. Вот коды моих компонентов:
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>
)
Компонент Routes.js, выполняющий маршрутизацию:
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>
)
Когда я комментирую эту строку компонента выше, все работает хорошо.
{/*<Routes />*/}
Этот компонент имеет только h1: <h1>Dashboard</h1>, потому что мы находимся в начале создания приложения.
Вы пытались добавить exact к пути / и поставить его после /billingCycles?
да. Я попробовал это сейчас, и это не сработало
Почему вы не используете react-router-dom? stackoverflow.com/questions/42684809/…
Потому что я следую шагам курса. Я попытаюсь изменить его на react-router-dom. Курс немного устарел





Используйте react-router-dom
Измените свой импорт в Route.js следующим образом:
import {BrowserRouter as Router, Route} from 'react-router-dom'
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>
)
Убедитесь, что ваш код hasHistory доступен в новой версии react-router. Также вы должны использовать react-router-dom. Надеюсь это поможет..
что такое компонент Dashboard?