Estoy trabajando en una aplicación de reacción básica donde uso un formulario para enviar el nombre de una persona y luego aparecerá en la pantalla. Después de ingresar el nombre, la matriz se actualiza correctamente, pero nada cambia en la pantalla. Esto es lo que estoy usando para mostrar el nombre de la persona. En este caso, tengo useState en personas, así que pensé que debería actualizarse. Todavía soy bastante nuevo en React, por lo que se agradece cualquier ayuda. Gracias por adelantado
{persons.map(person => <div key={person}>{person.name}</div> }Editar:
const [persons, setPersons] = useState([ { name: 'Arto Hellas' } ]) const [newName, setNewName] = useState('') const addPerson = (event) => { event.preventDefault() setPersons(persons.concat(newName)) setNewName('') }const [persons, setPersons] = useState([ { name: 'Arto Hellas' } ]) const [newName, setNewName] = useState('') const addPerson = (event) => { event.preventDefault() setPersons([...persons,{name:newName}]) setNewName('') }Desafortunadamente, React no cree que haya cambiado el estado cuando usa este tipo de funciones de matriz. En general, se recomienda usar una devolución de llamada en su llamada setState como:
const addPerson = (e) => { e.preventDefault(); setPersons((prevPersons) => [...prevPersons, { name: newName }]); setNewName(''); }