Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

164
Visualizações
Impedir que el usuario vaya a la página de perfil

Por lo tanto, debo evitar que el usuario regrese a la página de perfil (/perfil) después de haber seleccionado un perfil. Estoy almacenando el perfil seleccionado dentro del estado de la aplicación.

Escenario buscado: el usuario va a /perfil, selecciona un perfil, luego va a '/' (que es mi casa) y puede navegar a /exámenes si lo desea. PERO, no puede volver a /profile, ya que ya está dentro de la aplicación con un perfil almacenado en el estado. Si intenta ir a /profile, a través de la flecha hacia atrás del navegador o incluso escribiendo /profile en la URL, la página actual simplemente se vuelve a cargar.

¿Cuál es la mejor manera de lograr esto?

OBS: esta const { id } = useSelector... es la const que recupera el perfil del estado, así que tengo que usar esto como condición, pero no sé cómo.

Por lo tanto, si el usuario tiene una identificación que no está vacía (lo que significa que ya seleccionó un perfil), no puede volver al perfil. Aparte de eso, puede visitar /profile.

A continuación sigue mi route.tsx:

 const Exams = lazy(() => import('../pages/private/Exams')); const Home = lazy(() => import('../pages/private/Home')); const ProfileSelector = lazy(() => import('../pages/private/ProfileSelector')); const { id } = useSelector((state: RootState) => state.profile); const AppRoutes = () => { return ( <Router history={history}> <Suspense fallback={<LoadingPage />}> <Switch> <Route exact path={'/'} component={Home} /> <Route exact path={'/exams'} component={Exams} /> <Route exact path={'/profile'} component={ProfileSelector} /> </Switch> </Suspense> </Router> ); }; export default AppRoutes;

Mi tienda de perfil si hay algún uso:

 interface UserProfileModel { id: string; council: string; state: string; number: string; description: string; } const initialState: UserProfileModel = { id: '', council: '', state: '', number: '', description: '', }; export const userProfileSlice = createSlice({ name: 'profile', initialState, reducers: { selectProfile: (state, action: PayloadAction<UserProfileModel>) => { return { ...state, ...action.payload, }; }, clearProfile: () => initialState, }, }); export const { selectProfile, clearProfile } = userProfileSlice.actions; export default userProfileSlice.reducer;
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Establezca un estado, por ejemplo, profileSelected en verdadero cuando el usuario seleccione un perfil y luego:

poner

 {profileSelected ? null : <Route exact path={'/profile'} component={ProfileSelector} />}

en vez de

 <Route exact path={'/profile'} component={ProfileSelector} />
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda