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

378
Views
¿Cómo usar el evento onClick en el componente de enlace de reacción?

Estoy usando el componente Link del enrutador reactjs y no puedo hacer que onClickevent funcione. Este es el código:

 <Link to={this.props.myroute} onClick='hello()'>Here</Link>

¿Es esta la manera de hacerlo o de otra manera?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Está pasando hello() como una cadena, también hello() significa ejecutar hello inmediatamente.

tratar

 onClick={hello}
over 4 years ago · Santiago Trujillo Report

0

Deberías usar esto:

 <Link to={this.props.myroute} onClick={hello}>Here</Link>

O (si el método hello se encuentra en esta clase):

 <Link to={this.props.myroute} onClick={this.hello}>Here</Link>

Actualización: para ES6 y más reciente, si desea vincular algún parámetro con el método de clic, puede usar esto:

 const someValue = 'some'; .... <Link to={this.props.myroute} onClick={() => hello(someValue)}>Here</Link>
over 4 years ago · Santiago Trujillo Report

0

No creo que este sea un buen patrón para usar en general. Link ejecutará su evento onClick y luego navegará a la ruta, por lo que habrá un ligero retraso en la navegación a la nueva ruta. Una mejor estrategia es navegar a la nueva ruta con el apoyo 'a' como lo ha hecho, y en la función componenteDidMount() del nuevo componente puede activar su función de saludo o cualquier otra función. Te dará el mismo resultado, pero con una transición mucho más suave entre rutas.

Por contexto, me di cuenta de esto mientras actualizaba mi tienda redux con un evento onClick en Link como el que tiene aquí, y causó un retraso de pantalla en blanco de ~.3 segundos antes de montar el componente de la nueva ruta. No hubo una llamada api involucrada, por lo que me sorprendió que la demora fuera tan grande. Sin embargo, si solo está registrando "hola" en la consola, es posible que el retraso no se note.

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!