margox / braft-editor

美观易用的React富文本编辑器,基于draft-js开发
MIT License
4.6k stars 594 forks source link

使用raw回填后无法获取HTML #924

Closed direwolf512 closed 2 years ago

direwolf512 commented 2 years ago

hi, 我在数据回填后保存时遇到了个问题 当通过接口获取内容后进行回填,不做任何操作直接点击提交,无法获取到当前的HTML,而且控制台有报错

TypeError: Cannot read property 'getCurrentStack' of undefined
    at pushCurrentDebugStack (react-dom-server.browser.development.js:2665)
    at ReactDOMServerRenderer.read (react-dom-server.browser.development.js:3366)
    at Object.renderToStaticMarkup (react-dom-server.browser.development.js:4003)
    at getBlockTags (getBlockTags.js:19)
    at convertToHTML.js:75
    at Array.map (<anonymous>)
    at convertToHTML.js:38
    at convertEditorStateToHTML (index.js:54)
    at EditorState.external_draft_js_.EditorState.toHTML (index.js:7076)
    at _callee2$ (Content.tsx:35)
    at tryCatch (runtime.js:45)
    at Generator.invoke [as _invoke] (runtime.js:274)
    at Generator.prototype.<computed> [as next] (runtime.js:97)
    at asyncGeneratorStep (asyncToGenerator.js:3)
    at _next (asyncToGenerator.js:25)
useEffect(() => {
    const { raw: rawString } = defaultDetail || {};
    if (rawString) {
      const editorState = BraftEditor.createEditorState(rawString);
      setOpinionEditorState(editorState);
    }
  }, [defaultDetail]);
// 点击事件
const getDetail = async () => {
    const rawContent = opinionEditorState.toRAW(true);
    const htmlContent = opinionEditorState.toHTML();
    return { raw: rawContent, html: htmlContent };
 }

这里的 htmlContent 是一个空字符串