Pesquisa de site

reactjs - Como você usa o Next.js dinâmico com bibliotecas que exportam múltiplas funções?


Não consigo descobrir como usar a função dynamic() do Next.js para importar uma classe ou função de bibliotecas que exportam várias funções.

No meu projeto, estou tentando fazer isso:

import dynamic from 'next/dynamic';
const { geolocated } = dynamic(() => import('react-geolocated'));

A documentação oficial do Next.js dá este exemplo:

//import Highlight from 'react-highlight'
import dynamic from 'next/dynamic';

const Highlight = dynamic(() => import('react-highlight'));

Este é o erro que estou recebendo:

TypeError: geolocated is not a function
    at Module../components/Map.js (/home/tithos/Web Projects/nextjs-ipeefreely/.next/server/0.js:71:23)
    at __webpack_require__ (/home/tithos/.../.next/server/static/development/pages/map.js:29:31)

O que agora, ao olhar para isso, me faz pensar que este é um problema de TypeScript e/ou PropType.

Alguma sugestão?

Resposta #1

Como eu descobri aqui, é feito assim

const { geolocated } = { 
  geolocated: dynamic(() => 
    import('react-geolocated').then((module) => module.geolocated)
    )
  }