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

251
Views
¿Cómo reasignar un valor de una clave en un diccionario de javascript para onChange de una etiqueta TextField?

Este es el esquema de mi modelo:

 const workoutSchema = mongoose.Schema({ workouts: [ { workoutName: String, sets: Number, reps: Number, weight: Number, }, ], });

Este es el postData que es referencia en el campo de texto a continuación.

 const [postData, setPostData] = useState({ workouts: [{ workoutName: "", sets: "", reps: "", weight: "" }], });

para acceder al nombre de entrenamiento anterior, a continuación he establecido el valor en postData.workouts["workoutName"] parece funcionar pero no estoy seguro. Tengo problemas con la propiedad onChange , específicamente con el segundo argumento en setPostData [workoutName]: e.target.value . Tengo problemas para acceder a la workoutName de nombre de entrenamiento dentro del diccionario de entrenamientos del esquema.

 <TextField label="Workout" variant="outlined" value={postData.workouts["workoutName"]} onChange={(e) => setPostData({ ...postData, workoutName: e.target.value }) }

workouts["workoutName"]: e.target.value pero aparece un error de sintaxis antes del paréntesis que dice que estaba esperando un , . imagen de error También probé workouts.workoutName : e.target.value como en otros idiomas, pero no funcionó. ¿Cómo puedo acceder al nombre de entrenamiento en el objeto de entrenamientos para reasignarlo al valor escrito en el campo de texto (es decir, e.target.value ).

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

0

postData es un objeto

entrenamientos es una propiedad de este objeto

el nombre del entrenamiento es una propiedad dentro de una matriz que es una propiedad de los entrenamientos

Entonces, para cambiar el nombre del entrenamiento, debe hacer lo siguiente:

 {...postData, workouts: [{...postData.workouts[0], workoutName: e.target.value}]}

Para leer el nombre del entrenamiento necesitas hacer:

 postData.workouts[0].name
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!