@FeDroid74

Не выводит страницы после добавления навигации (AppRouter), как исправить?

В файлах, когда еще навигации не было, AppRouter я еще не добавлял, всё работало нормально, но после того как я сделал AppRouter с consts.js на странице не отображалось ничего, также консоль выдавала данные ошибки. React-router-dom стоит шестой версии, у меня ранее возникали ошибки, то что в поздней версии удалили Switch и сделали Routes, удалили Redirect и сделали Navigate, поэтому я даже уже не знаю на что ссылаться.

Код App.js:
import './App.css';
import React from 'react'
import {BrowserRouter} from 'react-router-dom'
import AppRouter from './components/AppRouter.js'

function App() {
  return (
      <BrowserRouter>
          <AppRouter />
      </BrowserRouter>
  );
}

export default App;


Код AppRouter.js:
import {Routes, Route, Navigate} from 'react-router-dom'
import Admin from "../pages/Admin"
import Main from "../pages/Main"
import Shop from "../pages/Shop"
import Product from "../pages/Product"
import Info from "../pages/Info"
import {ADMIN_ROUTE, MAIN_ROUTE, SHOP_ROUTE, PRODUCT_ROUTE, INFO_ROUTE} from "../utils/consts";

const publicRoutes = [
    {
        path: MAIN_ROUTE,
        Element: Main
    },
    {
        path: SHOP_ROUTE,
        Element: Shop
    },
    {
        path: PRODUCT_ROUTE + './:id',
        Element: Product
    },
    {
        path: INFO_ROUTE,
        Element: Info
    }
]

const adminRoutes = [
    {
        path: ADMIN_ROUTE,
        Element: Admin
    }
]

const AppRouter = () => {
    const isAdmin = true
    return (
        <Routes>
            {publicRoutes.map(({path, Component}) =>
                <Route key={path} path={path} element={<Component />} />
            )}
            {isAdmin && adminRoutes.map(({path, Component}) =>
                <Route key={path} path={path} element={<Component />} />
            )}
            <Navigate to={MAIN_ROUTE}/>
        </Routes>
    )
}

export default AppRouter


6261db6a14bce069110360.png
6261db718b84d015383225.png
  • Вопрос задан
  • 122 просмотра
Пригласить эксперта
Ответы на вопрос 1
Seasle
@Seasle Куратор тега JavaScript
В массивах Вы использовали Element, а деструктурируете Component.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы