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

452
Vistas
Next.js - TypeError: no se pueden leer las propiedades de nulo (leyendo 'useMemo')

Desde que refactoricé mi código para mover ganchos y componentes genéricos a sus propios submódulos git dentro de mi proyecto, obtengo TypeError: Cannot read properties of null (reading 'useMemo') cada vez que llamo a uno de mis ganchos personalizados que se refieren a useMemo .

Eliminé toda la lógica de un enlace para asegurarme de que no proviniera de argumentos indefinidos, por lo que ahora mi archivo se ve así:

 import { useMemo } from 'react' export function useMyCustomHook() { return useMemo(() => [], []) // Does nothing useful, but fails anyway } export function useMyCustomHookWithoutMemo() { return [] // Does nothing useful, doesn't fail }

Estoy usando next.js en la última versión y la estructura del proyecto es así:

  • componentes/
    • componente.js (aquí es donde llamo useMyCustomHook importado de 'genéricos')
  • manos/
  • paginas/
    • index.js (componente de devoluciones)
  • genéricos/
    • index.js (con export * from './hooks/useMyCustomHook' )
    • manos/
      • useMyCustomHook.js

También tengo un archivo jsconfig.json con el siguiente contenido, así que puedo escribir cosas como import Component from 'components/component' :

 { "compilerOptions": { "baseUrl": "." } }

¿Next.js no compila el código en mi carpeta de genéricos? ¿Cómo puedo hacer que useMemo funcione con esta estructura de carpetas?

Intenté mover useMyCustomHook.js a la carpeta de ganchos y funciona allí, así que supongo que tiene que ver con una configuración de paquete web. No sé mucho sobre eso, por eso me encanta next.js

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

0

Comencé desde cero y moví los archivos uno por uno a una carpeta libs , y agregué paths en jsconfig.json para no tener importaciones largas en mis libs y parece funcionar por ahora. Probablemente un error con los submódulos next.js, webpack y git

about 4 years ago · Juan Pablo Isaza Denunciar

0

tal vez pueda agregar una línea de consola después de la línea de importación para asegurarse de que useMemo exista. como esto:

 import { useMemo } from 'react'; console.log(useMemo);

el punto es encontrar la variable cuyo valor es nulo.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Este podría ser un caso de importaciones circulares en su código. Webpack no los maneja bien.

Asegúrese de no importar desde la carpeta de components a genéricos o ganchos. Intente ejecutar la regla eslint no-cycle en su aplicación, podría ayudar a identificarlos: https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-cycle.md

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