Estoy haciendo un enrutamiento basado en el rol del usuario en nextjs. Hice un enlace que devuelve verdadero o falso si un usuario puede navegar en una ruta. Quiero interceptar eso en el archivo _app.tsx, así que hice lo siguiente:
_app.tsx
const App: React.FC<{ Component: React.FC; pageProps: Record<string, any>; }> = ({ Component, pageProps }) => { const router = useRouter(); const user = typeof localStorage !== 'undefined' ? (JSON.parse(localStorage.getItem('user') ?? 'null') as | User | { role: undefined }) : null; //useRouteProvider returns true/false const isUserAllowedOnRoute = useRouteProvider(router.pathname, user?.role); if (!isUserAllowedOnRoute) { window.location.replace('/'); // I also tried router.push('/') and Router.push('/') but I can't use that into this file. } return ( //... ); }; export default App; En este caso el error es ReferenceError: window is not defined
Según el valor de isUserAllowedOnRoute , ¿cómo puedo redirigir a una ruta determinada desde aquí?