Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.08.2024, 20:00
Аспирант
Отправить личное сообщение для riaron86 Посмотреть профиль Найти все сообщения от riaron86
 
Регистрация: 27.11.2021
Сообщений: 76

[Navigate] is not a <Route> component. All component children of <Routes> must be a <
скрипт выдает ошибку [Navigate] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>

import React, {useContext} from 'react';
import {Routes, Route, Navigate} from 'react-router-dom'
import {authRoutes, publicRoutes} from "../routes";
import {SHOP_ROUTE} from "../utils/consts";
import {Context} from "../index";
import {observer} from "mobx-react-lite";

const AppRouter = observer(() => {
    const {user} = useContext(Context)

    console.log(user)
    return (
        <Routes>
            {user.isAuth && authRoutes.map(({path, Component}) =>
                <Route key={path} path={path} component={Component} exact/>
            )}
            {publicRoutes.map(({path, Component}) =>
                <Route key={path} path={path} component={Component} exact/>
            )}
            <Navigate to={SHOP_ROUTE}/>
        </Routes>
    );
});

export default AppRouter;

специально для Aetae!!!

[Navigate] не является компонентом <Route>. Все дочерние компоненты <Routes> должны быть <Route> или <React.Фрагмент>
Ответить с цитированием
  #2 (permalink)  
Старый 28.08.2024, 21:26
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

Вы не понимаете в чем у вас ошибка и как её исправить?

Вы затолкали компонент Navigate в прямые потомки компонента Routes, из-за чего последний пишет вам, что его прямые потомки могут быть только компонентом Route или React.Fragment.

Если нужна максимально топорная инструкция, то удалите строчку 20 и ошибка пропадет.
Ответить с цитированием
  #3 (permalink)  
Старый 28.08.2024, 21:40
Аспирант
Отправить личное сообщение для riaron86 Посмотреть профиль Найти все сообщения от riaron86
 
Регистрация: 27.11.2021
Сообщений: 76

как сделать так чтобы если в адресной строке нет ни одного роута то иди в шоп
Ответить с цитированием
  #4 (permalink)  
Старый 01.09.2024, 07:50
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,588

riaron86, чтоб значит "специаьно для меня", лол? Я то читать умею в отличие от тебя. В данном случае описание ошибки ещё более очевидное чем в прошлый раз...

Первый ответ гугла по запросу "react router default route":
<Route exact path="/">
    <Redirect to="/home" />
</Route>
__________________
29375, 35

Последний раз редактировалось Aetae, 01.09.2024 в 07:52.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как построить полный путь до элемента дерева? dpts Общие вопросы Javascript 7 11.12.2020 09:55