Tengo un objeto profundamente anidado y estoy tratando de obtener un valor específico de él. En mi entorno de desarrollo y producción, la función devuelve el error anterior (TypeError: No se puede desestructurar la propiedad 'reflectionId' de 'indefinido' ya que no está definido). Sin embargo, no puedo depurar esto, y cuando coloco exactamente el mismo objeto y funciona en un entorno limitado de código, funciona bien .
Recreé mi objeto y código en un codesandbox aquí: https://codesandbox.io/s/nameless-bird-rknxrr?file=/src/index.js:28281-28461 (consulte la consola para ver el resultado de trabajo)
const discordLink = CHARACTER_MAP .flatMap((character) => character.chapters) .find(({ reflectionId }) => reflectionId === reflectionNum).discordLink; ¿Cuál podría ser el problema? FlatMap devuelve un objeto con el formato correcto (verificado). reflectionId es el nombre de la propiedad que estoy buscando y parece estar correctamente definido tanto en mi código en vivo como en el sandbox. Según cómo se describe .find() en [los documentos de Mozilla] 1 , parece que también estoy usando el método "Usar la función de flecha y desestructurar" correctamente. Lo más desconcertante es que funciona en codesandbox pero no en vivo.
Prueba esto :
const discordLink = CHARACTER_MAP .flatMap((character) => character.chapters) .find((reflection) => reflection.reflectionId === reflectionNum).discordLink