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

318
Vistas
Why I encountered is not iterable?

I have this error and I started to learn React last week so I couldn't solve the problem.

Uncaught TypeError: contacts is not iterable
    at onSubmit (index.js:15:1)

Contacts Component

import List from "./List"
import Form from "./Form"
import {useState,useEffect} from "react"
import React  from "react"

function Contacts(){

    const [contacts,setContacts] = useState([]);

    useEffect(()=>{
        console.log(contacts)
    },[contacts])   

    return (
        <div>
            <List/>
            <Form addContact = {setContacts} contacts={contacts}/>
        </div>
    )
}


export default Contacts

Form Component

import React from "react"
import { useState } from "react"

function Form(addContact,contacts){
    
    const [form,setForm] = useState({fullName : "" , phoneNumber : ""})

    const onChangeInput = (event) => { setForm({...form,[event.target.name]: event.target.value}) }

    const onSubmit = (event) => {
        event.preventDefault();
        if(form.name ==="" || form.phoneNumber===""){
            return false
        }
        addContact([...contacts , form]);
    }

    return (
        <form onSubmit={onSubmit}>
            Form List
            <div><input name="fullName" placeholder="fullName" onChange={onChangeInput}></input></div>
            <div><input name="phoneNumber" placeholder="phoneNumber" onChange={onChangeInput}></input></div>
            
            <div>
                <button>Add</button>
            </div>
        </form>
    )
}


export default Form
about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

please use props like this wrap with {}

function Form({ addContact, contacts }){
...
...
...
}
about 4 years ago · Santiago Gelvez 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