Не удается отобразить маршрут с инструкциями коммутатора React router dom 5.0.0
Я довольно новичок в React Router.. Я использую React-router-dom 5.0.0
Маршрут моей панели мониторинга по какой-то причине не совпадает, и при переходе к /dashboard
import React, { Suspense } from 'react';
import ReactDOM from 'react-dom';
import { MuiThemeProvider } from '@material-ui/core/styles';
import theme from './theme';
import { BrowserRouter, Switch, Route, Redirect } from 'react-router-dom';
const MarketPlace = React.lazy(() => import('./marketplace/MarketPlace'));
const Dashboard = React.lazy(() => import('./dashboard/Dashboard'));
const mainApp = (
<MuiThemeProvider theme={theme}>
<BrowserRouter>
<Switch>
<Redirect exact from="/" to="/marketplace" />
<Suspense fallback="Loading...">
<Route component={MarketPlace} exact path="/marketplace" />
</Suspense>
<Suspense fallback="Loading...">
<Route component={Dashboard} exact path="/dashboard" />
</Suspense>
</Switch>
</BrowserRouter>
</MuiThemeProvider>
);
ReactDOM.render(mainApp, document.getElementById('root'));
Я что-то делаю неправильно?
1 ответ
Решение
Suspense
Элемент должен быть вне вашего блока переключателей, например:
const App: React.FC = (props) => (
<BrowserRouter>
<React.Suspense fallback="Loading...">
<Switch>
<Route path="/dashboard" component={Dashboard} />
<Route path="/other" component={Other} />
<Redirect to="/dashboard" />
</Switch>
</React.Suspense>
</BrowserRouter>
);