Распределение контекста реагирования в маршрутизаторе Tanstack в React Vite с JSJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Распределение контекста реагирования в маршрутизаторе Tanstack в React Vite с JS

Сообщение Anonymous »

Я пытаюсь передать контекст реагирования (auth) на свои маршруты, используя маршрутизатор Tanstack, но я продолжаю получать эту ошибку:
uncate typeerror: rootroute.addchildren не является функцией < /strong> < /p>
Я определил свой контекст и обернул мое приложение: < /p>
this.

Код: Выделить всё

import { AuthProvider, useAuth } from "./context/auth/auth.jsx";
import { router } from "./router/routes.jsx";
import { RouterProvider } from "@tanstack/react-router";

function App() {
return (



);
}
function InnerApp() {
const auth = useAuth();

return ;
}

export default App;

< /code>
Это routes.jsx для определения маршрутизатора < /p>

import {
Router,
Outlet,
createRoute,
redirect,
createRootRouteWithContext,
} from "@tanstack/react-router";
import HomePage from "../pages/HomePage";
import LoginPage from "../pages/LoginPage";

const rootRoute = createRootRouteWithContext({
component: () => (



),
});

const indexRoute = createRoute({
getParentRoute: () => rootRoute,
path: "/",
component: HomePage,
});

const loginRoute = createRoute({
getParentRoute: () => rootRoute,
path: "/login",
component: LoginPage,
beforeLoad: ({ context }) => {
const authctx = context.auth;
const { role, isLoggedIn } = authctx();
if (isLoggedIn && role == "user") {
throw redirect({ to: "/" });
}
if (isLoggedIn && role == "admin") {
throw redirect({ to: "/admin" });
}
return;
},
});

const routeTree = rootRoute.addChildren([
indexRoute,
loginRoute,
]);

export const router = new Router({
routeTree,
context:{
auth:undefined
}
});

Когда я создаю только Rootroute, все работает хорошо без ошибки

Подробнее здесь: https://stackoverflow.com/questions/796 ... te-with-js
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»