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

75
Visualizações
Why is this js obj changing depending on how I acces its information?

So I'm trying to modify an object I receive via api with more info, like so:

useEffect(async () => {
setPedidos(await getPedidos()); //Get initial data from api
 }, []);
useEffect(async () => { //gets triggered when 'pedidos' is modified
if (pedidos.length > 0) {
  console.log('example from original obj:', pedidos[0])
  let obj = [...pedidos] //copies contents of 'pedidos' to a new list
  pedidos.forEach(async (item, index) => {
    obj[index].cliente = await getCliente(obj[index].cliente) //updates 'cliente' 
  })
  console.log('log 1', obj) //logs wrole obj. Shows updated info as expected
  console.log('log 2', obj[0]) //Logs first in set. Shows original info
}
}, [pedidos]);

Logs When I later try to access new information, I get the message 'cannot read properties of undefined'.

I haven't really tried much since I have no idea what to do. There is no reason for the new object to change at all since 'let obj = [...pedidos]' makes a copy of the original object, as far as I understand.

about 4 years ago · Juan Pablo Isaza
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