Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

160
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!