Как я могу интегрировать Next Js с MDBootstrap - PullRequest
0 голосов
/ 12 сентября 2018

Я изучаю Next Js с официальными документами, поэтому я пытаюсь создать сайт, и я хотел бы интегрировать MDB.

Я установил его, как они рекомендуют здесь: https://mdbootstrap.com/react/5-min-quick-start/

Но когда я запускаю http://localhost:3000/, он выдает ошибку, как показано на скриншоте ниже

Error

Можете ли вы мне помочь?

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Объект window не существует на сервере и доступен только на стороне клиента.В дополнение к тому, что упомянул Clément Prévost, вы также можете загрузить нужные компоненты после componentDidMount.Это не самый эффективный метод.

0 голосов
/ 12 сентября 2018

Кажется, что mdb не поддерживает SSR.

Каждая страница в NextJS сначала отображается с сервера.Если mdb получил доступ к window или к любому глобальному JS-браузеру (history, localStorage) в одном методе рендеринга, это нарушит SSR.

У вас есть несколько вариантов.

  1. Используйте NextJS динамические компоненты , чтобы отключить SSR
  2. Подождите , пока команда NextJS реализует хороший способ отключить SSR для некоторых компонентов
  3. Создайте фиктивный объект window при выполнении SSR, чтобы избежать ошибки
  4. Fork MDB для исправления их компонентов для SSR, и создайте запрос на извлечение для внесения ваших изменений
...