es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Importación dinámica de múltiples exportaciones en Nextjs

Estoy utilizando un paquete de terceros que cargo usando el dinámico de Next JS:

const am5 = dynamic(() => import("@amcharts/amcharts5"), {ssr: false})

El amcharts5 que se importa es una serie de exportaciones e importaciones

export { Root } from "./.internal/core/Root";
export { Theme } from "./.internal/core/Theme";
export { addLicense, registry, disposeAllRootElements } from "./.internal/core/Registry";
export { ready } from "./.internal/core/util/Utils";
...varias líneas más y algunas importaciones también

Sin embargo, cuando ejecuto dev / build, mi aplicación falla debido a esta línea a continuación.

let root = am5.Root.new('chart');

El error es:

TypeError: Cannot read properties of undefined (reading 'new')

Supongo que necesito importar Root dinámicamente también. Ya he intentado lo siguiente pero no funcionó.

const { Root }= dynamic(() => import('@amcharts/amcharts5').then((mod) => mod),{ssr:false})

Y también

const Root = dynamic(() => import('@amcharts/amcharts5').then((mod) => mod.Root),{ssr:false})

Para referencia, los documentos del paquete importan de la siguiente manera (aunque necesito importar esto dinámicamente)

import * as am5 from "@amcharts/amcharts5"

¡Cualquier ayuda es apreciada! 🙂

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Puedes intentar importar el módulo Root directamente desde @amcharts/amcharts5 usando dynamic:


    const Root = dynamic(() => import('@amcharts/amcharts5/Root'), { ssr: false });

    Luego puedes usarlo de la siguiente manera:


    let root = Root.new('chart');

Comments are closed.