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

262
Views
onEnter no llamado en React-Router

Ok, estoy harto de intentarlo.
El método onEnter no funciona. ¿Alguna idea de por qué es eso?

 // Authentication "before" filter function requireAuth(nextState, replace){ console.log("called"); // => Is not triggered at all if (!isLoggedIn()) { replace({ pathname: '/front' }) } } // Render the app render( <Provider store={store}> <Router history={history}> <App> <Switch> <Route path="/front" component={Front} /> <Route path="/home" component={Home} onEnter={requireAuth} /> <Route exact path="/" component={Home} onEnter={requireAuth} /> <Route path="*" component={NoMatch} /> </Switch> </App> </Router> </Provider>, document.getElementById("lf-app")

Editar:

El método se ejecuta cuando llamo a onEnter={requireAuth()} , pero obviamente ese no es el propósito, y tampoco obtendré los parámetros deseados.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

onEnter ya no existe en react-router-4 . Debe usar <Route render={ ... } /> para obtener la funcionalidad deseada. Creo que el ejemplo Redirect tiene su escenario específico. Lo modifiqué a continuación para que coincida con el tuyo.

 <Route exact path="/home" render={() => ( isLoggedIn() ? ( <Redirect to="/front"/> ) : ( <Home /> ) )}/>
over 4 years ago · Santiago Trujillo Report

0

De react-router-v4 onEnter , onUpdate y onLeave se eliminan, según la documentación sobre la migración de v2/v3 a v4 :

on* propiedades
React Router v3 proporciona onEnter , onUpdate y onLeave . Básicamente, recreaban los métodos del ciclo de vida de React.

Con v4, debe usar los métodos de ciclo de vida del componente representado por <Route> . En lugar de onEnter , usaría componentDidMount o componentWillMount . Donde usaría onUpdate , puede usar componentDidUpdate o componentWillUpdate (o posiblemente componentWillReceiveProps ). onLeave se puede reemplazar con componentWillUnmount .

over 4 years ago · Santiago Trujillo 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!