Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

339
Vistas
React Native Actualización de una matriz de objetos JSON en ChangeText, índice indefinido

Tengo una variable useState que tiene una matriz de objetos JSON, y estoy tratando de hacer que los campos de texto se representen y actualicen dinámicamente con onChangeText, pero tengo un pequeño problema con esto.

Cuando agrego console.log(index) a updateHashtags, dice que no está definido y no puedo entender qué estoy haciendo mal o qué puedo hacer para que esto funcione. En teoría, el índice debería ser un número estático para cada campo de texto. Entonces, el primer campo de texto tendría hashtags[0] como su valor y usaría '0' como índice para actualizar el estado de los hashtags.

Cuando uso: console.log('index',index); dentro de updateHashtags , obtengo: index undefined

Aquí está el código:

 const updateHashtags = (text, index) => { let ht = hashtags; ht[index].name = text; setHashtags(ht); } const hashtagElement = ( <> <Text style={styles.plainText} >Set Your Values:</Text> <Text style={styles.instructionsText} >This is what other users use to search for you.</Text> {hashtags.map((e,index) => <TextInput placeholder='value' key={e.name + index} value={hashtags[index].name} onChangeText={(text,index) => updateHashtags(text,index)} style={styles.textInput} /> )} <TouchableOpacity onPress={() => { let ht = hashtags; let newht = { name: '', weight: 0, }; ht[ht.length] = newht; setHashtags(ht); }} > <Ionicons name="add-circle-outline" size={40} color={'black'} /> </TouchableOpacity> </> );
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Tal vez las funciones onChangeText no obtengan el parámetro de índice.

Pruébalo así:

 // we are getting index from here {hashtags.map((e,index) => <TextInput placeholder='value' key={e.name + index} value={hashtags[index].name} // so no need of taking index from param here onChangeText={(text) => updateHashtags(text,index)} style={styles.textInput} /> )}

También para sus funciones updateHashTags considere esto en lugar:

 const updateHashtags = (text, index) => { // doing it this way ensures your are editing updated version of state setHashtags((state) => { let ht = state; ht[index].name = text; return ht; }); }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda