在Nextjs上导入html-to-draftjs

时间:2020-11-08 09:21:04

标签: reactjs next.js draftjs

我无法在Nextjs项目上导入html-to-draftjs。如果我使用以下方式导入它:

import htmlToDraft from "html-to-draftjs"

结果将是:

window is not defined

我尝试使用动态导入:

const htmlToDraft = dynamic(
  () => {
    return import("html-to-draftjs");
  },
  { ssr: false }
);

结果是: htmlToDraftjs is not a function

我可以尝试其他导入方法吗?或者也许我可以使用任何替代的htmltodraft模块?谢谢!

1 个答案:

答案 0 :(得分:1)

window对象在服务器上不可用。因此错误发生在服务器上。如果只想在浏览器上运行htmlToDraft,则应该在componentDidMount上运行它,因为我看到您正在使用类组件。

componentDidMount生命周期方法仅在Next JS的客户端执行。

render方法将同时在服务器和客户端中执行。这就是为什么您会收到该错误。将其放入componentDidMount