Me gustaría actualizar la página actual (inicio) cuando el usuario intenta volver a través del navegador, después de iniciar sesión.
¿Cuál es la mejor manera de resolver esto? ¿Alguna sugerencia?
Estaba tratando de hacer algo como esto dentro de index.tsx:
if (id) { const rollback = history.goBack(); if (rollback) { history.push('/'); } }Obs: En este caso, '/' es mi página de inicio, y no puedo aplicar la lógica anterior porque "No se puede probar la veracidad de una expresión de tipo 'vacío'".
Lo siento por cualquier cosa, todavía soy nuevo en reaccionar y estoy tratando de aprender.
No sé si podría hacer algo dentro de mi enrutador, aquí está de todos modos:
import React, { Suspense, lazy } from 'react'; import { Route, Router, Switch } from 'react-router-dom'; import history from '../utils/history'; import LoadingPage from '../components/organisms/LoadingPage'; const DownloadExams = lazy(() => import('../pages/private/DownloadExams')); const Home = lazy(() => import('../pages/private/Home')); const ProfileSelector = lazy(() => import('../pages/private/ProfileSelector')); const AppRoutes = () => { return ( <Router history={history}> <Suspense fallback={<LoadingPage />}> <Switch> <Route exact path={'/'} component={Home} /> <Route exact path={'/baixar-exames'} component={DownloadExams} /> <Route exact path={'/profile'} component={ProfileSelector} /> </Switch> </Suspense> </Router> ); }; export default AppRoutes;¿Alguna sugerencia? ¡Gracias!
El tiempo de inicio de sesión del usuario puede almacenar un token o una flag y almacenarlo en localStorage . Después de eso, puede verificar si el inicio de sesión del usuario lo redirige a la página. También puede crear algo de HOC para el mismo.
Ejemplo :
import React from "react"; import { Route, Redirect } from "react-router-dom"; export const ProtectedRoute = ({ component: Component, ...rest }) => { const isLoggedIn = localStorage.getItem("token"); return ( <Route {...rest} render={(props) => { if (isLoggedIn) { return <Component {...props} />; } else { return ( <Redirect to={{ pathname: "/", state: { from: props.location, }, }} /> ); } }} /> ); };Ejemplo de uso:
<ProtectedRoute path="/home" exact component={Home} />
Esto redirigirá al usuario a /home después de iniciar sesión.