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

273
Visualizações
No se puede desestructurar la propiedad de '{}' porque es nula

Actualicé un código heredado para reaccionar 18 (de 17) y react-router-dom 6 (de v4) y, por alguna razón, encuentro este error en el código existente (que funcionaba bien)

En todos mis componentes accedo a algunos datos así

 const { user, person, loading, locale, building: { locale: building_locale } = {}, updateContext, } = useContext(GlobalContext)

Aquí está la consola de dicho contexto en su estado inicial, en el renderizado obtengo el problema a continuación: ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

El código funciona perfectamente bien si estoy haciendo alguna solución como esta

 const { user, person, loading, locale, building, updateContext, } = useContext(GlobalContext) const building_locale = building?.locale

Pero esos cambios afectarían a archivos de aproximadamente 3k y realmente no espero tener que ejecutar ese tipo de expresiones regulares.

Hasta donde yo sé, el código funciona bien y el error no tiene sentido, pero tal vez alguien tenga alguna idea de por qué podría suceder esto.

Habría proporcionado un codepen si de alguna manera pudiera reproducir en un entorno de codificación prístino, pero esto parece ser específico para el contexto de mi aplicación, principalmente buscando algunas ideas / patitos de goma 🥲

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Parece que hay un problema cuando el valor de building es nulo, una solución alternativa es declararlo como undefined en su lugar:

 const o1 = { building: { locale: undefined } }; // Works - even with null const o2 = { building: null }; // Throws const o3 = { building: undefined }; // Works const testDestructuring = (obj) => { try { const { building: { locale: building_locale } = {} } = obj; console.log(JSON.stringify(obj),': Destructured with no errors'); } catch (e) { console.log(e); } }; const tests = [o1, o2, o3]; tests.forEach(testDestructuring);

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