Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

105
Vistas
No se puede leer la propiedad 'mapa' de indefinido, diferencia en computadora de escritorio y portátil

Tengo este problema extraño. Estoy tratando de codificar mi cartera en ReactJS y tengo una computadora de escritorio y una computadora portátil. Estoy subiendo mi código a mi repositorio de GitHub.

En mi escritorio, el código corre super bien y no me sale ningún mensaje de error, ahora si clono mi repositorio en mi notebook, en la consola no aparece ningún error pero en el navegador localhost:3000, sigo recibiendo esto error "No se puede leer la propiedad 'mapa' de indefinido" de cualquier parte del código que estoy mapeando.

 import React, { useContext } from "react"; import { Container, Columns, Title } from "./ProjectPortfolioElements"; import Card from "../Projects/Card"; import desktopMockup from "../../assets/projects/modern-browser-mockup.png"; import dictionary from "../Dictionary/dictionary"; import { LanguageContext } from "../../App"; function ProjectPortfolio() { const [language] = useContext(LanguageContext); return ( <> {dictionary[language].map(({ project }) => ( <> <Title> <h1>{project}</h1> </Title> <Container> <Columns> <Card image={desktopMockup} title="Logistic Website" description="This website was fully done with ReactJS" /> </Columns> <Columns> <Card image={desktopMockup} title="Logistic Website" description="This website was fully done with ReactJS" /> </Columns> </Container>{" "} </> ))} </> ); } export default ProjectPortfolio;

Realmente no tengo ni idea de lo que puede ser. La consola está bien, mi escritorio está bien y mi portátil no funciona.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

defaultLanguage es "br" si no hay nada almacenado en el almacenamiento local. Sospecho que está alcanzando este valor predeterminado en la computadora portátil, ya que indicó que solo clonó el proyecto y es probable que no se ejecute para poder configurar un idioma en localStorage.

 const defaultLanguage = "br"; // <-- default export const LanguageContext = React.createContext(); function App() { const [language, setLanguage] = useState(() => { const langFromLocalStorage = window.localStorage.getItem("lang"); return langFromLocalStorage ? langFromLocalStorage : defaultLanguage; // <-- default if nothing in localStorage }); React.useEffect(() => { window.localStorage.setItem("lang", language); }, [language]); return ( <div className="App"> <LanguageContext.Provider value={[language, setLanguage]}> <Main></Main> </LanguageContext.Provider> </div> ); }

Sugiero cambiar defaultLanguage a uno de "en" , "ptbr" , "jp" o "ru" .

Y / o como protección adicional, use el operador de encadenamiento opcional en el valor del dictionary[language] en caso de que algún otro idioma esté almacenado de alguna manera en localStorage que no sea una clave en el diccionario.

 dictionary?.[language]?.map(......)
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda