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

204
Views
Al usar el gancho useState y el evento onClick en reaccionar, aparece un error al llamar a la función en el evento onClick
import React,{useState} from 'react'; export function App(props) { const [fruit, setFruit ] = useState("apple") function settingFruit_1() { setFruit("mango"); } return ( <div className='App'> <h1>{fruit}</h1> //why am I getting the error when calling the function like this onClick = {settingFruit_1()} <button onClick = {settingFruit_1()}> submit </button> </div> ); }

Aquí está el error que veo:

 Error: Too many re-renders. React limits the number of renders to prevent an infinite loop. at renderWithHooks (<anonymous>:11510:25) at mountIndeterminateComponent (<anonymous>:14733:23) at beginWork (<anonymous>:15659:24) at HTMLUnknownElement.callCallback2 (<anonymous>:3454:24) at Object.invokeGuardedCallbackDev (<anonymous>:3479:26) at invokeGuardedCallback (<anonymous>:3513:41) at beginWork$1 (<anonymous>:18904:17) at performUnitOfWork (<anonymous>:18371:22) at workLoopSync (<anonymous>:18308:15)
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

onClick Function espera que pase una referencia a la devolución de llamada que ejecuta cuando el usuario hace clic en ese botón. Pero aquí llamas a esa función en onClick.

Solución:

Intente usar la siguiente sintaxis:

<button onClick={settingFruit_1}>submit</button>

about 4 years ago · Juan Pablo Isaza Report

0

  1. Está invocando la función en lugar de pasar su referencia al controlador onClick
 <button onClick = {settingFruit_1}> submit </button> // only pass reference without the ()
  1. ¿Por qué esto causa repeticiones infinitas? Porque al invocar la función directamente, está llamando a las funciones directamente, en lugar de llamar después de hacer clic. Esto hace que se vuelva a renderizar => el componente se establezca de nuevo => se invoque la función de nuevo => setFruits => volver a renderizar => .........
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!