А
Outlet не пробовали использовать, а не пытаться рядом с роутером положить компонент? Посмотрите внимательно в девтулзах, дотягиваетесь ли со своего компонента до нужного Вам провайдера?
Что происходит с костылём
Мой App вне роутинга, хуки, которые пытаются дотянуться до App, никогда не заработают.
Нормальный роутинг, сделанный по документации
Внутри моего App роутинг.
const routes: RouteObject[] = [
{
path: "*",
element: <Outlet />,
children: [
{
id: "page-a",
path: "page-a",
element: <PageA />,
},
{
id: "page-b",
path: "page-b",
element: <PageB />,
},
],
},
];
export const Router: FC = () => {
const router = createBrowserRouter(routes);
return <RouterProvider router={router} />;
};
Если надо, чтобы странички были обёрнуты в какой-то провайдер, вот, пожалуйста:
export const SuperWrapper: FC = () => {
return (
<ThemeProvider theme={theme}>
<Notifications />
<Outlet />
</ThemeProvider>
);
};
ЗЫ - не перестанете использовать
someComponent()
, то Вас ждёт удивительный мир потери состояний и прочего.