使用草稿js的Nextjs-当我使用convertFromHTML方法使用HTML内容初始化编辑器时未定义文档

问题描述

我想使用html标记初始化我的编辑器状态,但是我收到此错误

at renderToString (/home/al/Documents/node/admin-next/node_modules/react-dom/cjs/react-dom-server.node.development.js:3988:27)
at render (/home/al/Documents/node/admin-next/node_modules/next-server/dist/server/render.js:86:16)
at renderPage (/home/al/Documents/node/admin-next/node_modules/next-server/dist/server/render.js:211:20)
at Function.value (/home/al/Documents/node/admin-next/.next/server/static/development/pages/_document.js:925:41)
at _callee$ (/home/al/Documents/node/admin-next/.next/server/static/development/pages/_document.js:2334:78)
at tryCatch (/home/al/Documents/node/admin-next/node_modules/regenerator-runtime/runtime.js:62:40)
at Generator.invoke [as _invoke] (/home/al/Documents/node/admin-next/node_modules/regenerator-runtime/runtime.js:296:22)
at Generator.prototype.(anonymous function) [as next] (/home/al/Documents/node/admin-next/node_modules/regenerator-runtime/runtime.js:114:21)
at asyncGeneratorStep (/home/al/Documents/node/admin-next/.next/server/static/development/pages/_document.js:352:24)

这是我从此stackoverflow question复制的代码。当我使用内容初始化editorState时会出错。

const blocksFromHTML = convertFromHTML(
    "<p>Hey this <strong>editor</strong> rocks ?</p>"
  );

  const content = ContentState.createFromBlockArray(
    blocksFromHTML.contentBlocks,blocksFromHTML.entityMap
  );

  const [editorState,setEditorState] = useState(
    EditorState.createWithContent(content)
  );
import React,{ useState } from "react";
import {
  Editor,EditorState,RichUtils,getDefaultKeyBinding,ContentState,convertFromHTML
} from "draft-js";
import "./RichTextEditor.css";
import "draft-js/dist/Draft.css";

const MinimumRequirements = () => {
  const blocksFromHTML = convertFromHTML(
    "<p>Hey this <strong>editor</strong> rocks ?</p>"
  );

  const content = ContentState.createFromBlockArray(
    blocksFromHTML.contentBlocks,setEditorState] = useState(
    EditorState.createWithContent(content)
  );

  const onChangeHandler = (editorState) => setEditorState(editorState);

  return (
    <div className="RichEditor-root">
      <Editor
        blockStyleFn={getBlockStyle}
        customStyleMap={styleMap}
        handleKeyCommand={handleKeyCommand}
        keyBindingFn={mapKeyToEditorCommand}
        onChange={onChangeHandler}
        placeholder="Create pc requirements..."
      />
    </div>
  );
};

export default MinimumRequirements;

仍然出现此错误。有人可以帮助我吗?

编辑:我的代码现在可以使用,但是我不知道为什么,并且我对此代码没有更改?恐怕我在生产中会出错。

解决方法

请参见https://github.com/facebook/draft-js/issues/1361

不应为服务器实现

convertFromHTML。我复制了该URL中提供的信息,以解决服务器端渲染问题

作者还提供了一个解决方案,其中涉及安装NPM软件包 jsdom

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...