如何将Next Js与MDBootstrap集成

时间:2018-09-11 22:12:44

标签: reactjs next.js mdbootstrap

我正在学习带有官方文档的Next Js,因此,我正在尝试建立一个站点,我希望集成MDB。

我按照他们在这里的建议安装了它: https://mdbootstrap.com/react/5-min-quick-start/

但是当我运行http://localhost:3000/时,它将抛出错误,如下图所示

Error

你能帮我吗?

2 个答案:

答案 0 :(得分:3)

似乎mdb不支持SSR。

首先从服务器呈现NextJS中的每个页面。如果mdb在一种渲染方法中访问了window或任何仅浏览器的JS全局(historylocalStorage),它将破坏SSR。

您确实有一些选择。

  1. 使用NextJS dynamic components禁用SSR
  2. Wait,供NextJS团队实施一种不错的方式来禁用某些组件的SSR
  3. 在执行SSR时创建一个模拟window对象,以避免错误
  4. 叉MDB修复用于​​SSR的组件,并创建请求请求以贡献您的更改

答案 1 :(得分:0)

window对象在服务器上不存在,仅在客户端可用。

除了ClémentPrévost提到的内容之外,您还可以在componentDidMount之后加载所需的组件。这不是最有效的方法。