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

71
Views
Problema con la actualización de parte del componente

Hola, tengo un problema con el componente de actualización, no funciona, en el registro de la consola muestra los datos correctamente. Quiero después de hacer clic en div para cambiar el elemento en el que se hizo clic en verdadero y agregar a este elemento el nombre de clase cambiado

a continuación es jsx

 {tabObjects.map((item) => ( <div key={item.key} id={item.key} className={item.isChecked ? checked : notChecked} onClick={() => selectItem(item.key)} > <i className={item.icon}></i> <p className="hide-sm">{item.pText}</p> </div> ))}

después de hacer clic en seleccionar elemento, quiero cambiar el nombre de la clase a marcado y el resto de ellos marcados como falsos, así que:

 const selectItem = (e) => { tabObjects.map((item) => { item.isChecked = false; if (e === item.key) { item.isChecked = true; } }); setTabObjects(tabObjects); };

y muestra datos json

 const [tabObjects, setTabObjects] = useState([ { key: "sample1", isChecked: true, icon: "sample1i", pText: "Test text", }, { key: "sample2", isChecked: false, icon: "sample2i", pText: "Test text", }, ]); let checked = "sampleClass checked"; let notChecked = "sampleClass";

¿Qué estoy haciendo mal? Al hacer clic en cualquier div con el registro de la consola funcionando bien

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Falta declaración de return es la razón.

 const selectItem = (e) => { const objects = tabObjects.map((item) => { item.isChecked = false; if (e === item.key) { item.isChecked = true; } return item; }); setTabObjects(objects); };
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!