Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

77
Visualizações
¿Por qué el estado de uso del gancho de reacción muestra un mensaje de error?

Tengo un useState, pero cuando agrego un usuario renderizado, React muestra un error. No sé por qué React muestra un error. parece codigo valido

 const [users, setUsers] = useState([]);

Tengo un error en la función de eliminación:

 function App() { const [users, setUsers] = useState([]); const userAddHandler = input => { setUsers(prevState => { return [...prevState, input] }) } const deleteUserHandler = userId => { setUsers(userData => { userData.filter(user => { return userId !== user.id }) }); } return ( <div> <AddUser onAddUser={userAddHandler} /> <UserLists users={users} onDelete={deleteUserHandler} /> </div> ); } export default App;

Un mensaje de error como este:

 TypeError: userData is undefined deleteUserHandler/< src/App.js:17 14 | 15 | const deleteUserHandler = userId => { 16 | setUsers(userData => { > 17 | userData.filter(user => { 18 | ^ return userId !== user.id 19 | }) 20 | });

cuando lo devuelvo, muestra otro mensaje de error:

 Cannot update a component (`App`) while rendering a different component (`UserLists`). To locate the bad setState() call inside `UserLists`

Mis listas de usuarios son así:

 const UserLists = (props) => { return ( <ul> {props.users.map((user) => { return ( <div className={styles.userLists} key={user.id} onClick={props.onDelete(user.id)} > <Card> <li>{`${user.username} (${user.age} Years Old)`}</li> </Card> </div> ); })} </ul> ); }; export default UserLists;
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

No está devolviendo nada, por lo que no está undefined , debe return los datos después del filter .

 const deleteUserHandler = userId => { setUsers(userData => { return userData.filter(user => { return userId !== user.id }) });
about 4 years ago · Juan Pablo Isaza Relatório

0

const deleteUserHandler = userId => { const newData = userData.filter(user => userId !== user.id); setUsers(newData); }

Esta es quizás la mejor manera.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda