Reactjs 如何将引导添加到NextJS

Reactjs 如何将引导添加到NextJS,reactjs,next.js,server-side-rendering,mdbreact,Reactjs,Next.js,Server Side Rendering,Mdbreact,我在使用mdbreact包时遇到了一个问题,因为当我添加一些组件(如按钮等)时,我遇到了一个错误:窗口未定义。我做了一项研究,发现窗口对象只在客户端定义。 是否有可能将引导添加到NextJS???更新答案2020 自v1.0起,react引导支持SSR 资料来源: 2018年过时答案 在撰写本文时,只有一种干净的方法:使用禁用这些组件的SSR import dynamic from 'next/dynamic' const ButtonWithNoSSR = dynamic(import('re

我在使用mdbreact包时遇到了一个问题,因为当我添加一些组件(如按钮等)时,我遇到了一个错误:窗口未定义。我做了一项研究,发现窗口对象只在客户端定义。 是否有可能将引导添加到NextJS???

更新答案2020 自v1.0起,react引导支持SSR

资料来源:

2018年过时答案 在撰写本文时,只有一种干净的方法:使用禁用这些组件的SSR

import dynamic from 'next/dynamic'
const ButtonWithNoSSR = dynamic(import('react-bootstrap/lib/Button'), {
  ssr: false
})

肮脏的方法是通过模拟窗口对象使react引导支持SSR。

如果您想使用引导cdn,只需在nextjs中使用_app.js或_document.js文件即可

下面是我如何通过_document.js将引导cdn链接到我的nextjs项目

从next/Document导入文档,{Html,Head,Main,NextScript}; 类MyDocument扩展了文档{ 渲染{ 回来 ; } }
导出默认MyDocument;这没关系,但是如果我从Library导入了7个或更多的东西,它会生成很多代码。你可以在代码中使用常规的引导CSS类,或者更好的是,在JS中为CSS设置StyledJSX。其他ui框架如何,比如react的material design引导???好的,我忘记了这种添加css classA的方法,它大声而清晰地声明,在撰写本文时,这个答案是唯一的方法。更新了anwser。下次负面评论我将被迫删除这个答案。