Javascript 窗口未定义-react草稿wysiwyg与下一个js(ssr)一起使用

Javascript 窗口未定义-react草稿wysiwyg与下一个js(ssr)一起使用,javascript,reactjs,next.js,react-draft-wysiwyg,Javascript,Reactjs,Next.js,React Draft Wysiwyg,我正在使用NextJSforSSR开发一个富文本编辑器,用于将纯html转换为编辑器内容。我发现这个错误窗口没有定义,所以我搜索这个github的解决方案 它使用了nextjs的动态导入功能 而不是直接从“react draft wysiwyg”导入编辑器import{Editor} 它使用此代码动态导入编辑器 const Editor = dynamic( () => { return import("react-draft-wysiwyg").then(

我正在使用NextJSforSSR开发一个富文本编辑器,用于将纯html转换为编辑器内容。我发现这个错误窗口没有定义,所以我搜索这个github的解决方案

它使用了nextjs的动态导入功能

而不是直接从“react draft wysiwyg”导入编辑器
import{Editor}

它使用此代码动态导入编辑器

const Editor = dynamic(
  () => {
    return import("react-draft-wysiwyg").then(mod => mod.Editor);
  },
  { ssr: false }
);
尽管我已经安装了react draft wysiwyg模块,但我还是遇到了这个错误

ModuleParseError: Module parse failed: Unexpected token (19:9)
You may need an appropriate loader to handle this file type.
| import dynamic from "next/dynamic";
| var Editor = dynamic(function () {
>   return import("react-draft-wysiwyg").then(function (mod) {
|     return mod.Editor;
|   });
这是我的全部密码

import React, { Component } from "react";
import { EditorState } from "draft-js";
// import { Editor } from "react-draft-wysiwyg";
import dynamic from "next/dynamic";

const Editor = dynamic(
  () => {
    return import("react-draft-wysiwyg").then(mod => mod.Editor);
  },
  { ssr: false }
);

class MyEditor extends Component {
  constructor(props) {
    super(props);
    this.state = { editorState: EditorState.createEmpty() };
  }

  onEditorStateChange = editorState => {
    this.setState({ editorState });
  };

  render() {
    const { editorState } = this.state;

    return (
      <div>
        <Editor
          editorState={editorState}
          wrapperClassName="rich-editor demo-wrapper"
          editorClassName="demo-editor"
          onEditorStateChange={this.onEditorStateChange}
          placeholder="The message goes here..."
        />
      </div>
    );
  }
}

export default MyEditor;
import React,{Component}来自“React”;
从“草稿js”导入{EditorState};
//从“react draft wysiwyg”导入{Editor};
从“下一个/动态”导入动态;
常量编辑器=动态(
() => {
返回导入(“react draft wysiwyg”)。然后(mod=>mod.Editor);
},
{ssr:false}
);
类MyEditor扩展组件{
建造师(道具){
超级(道具);
this.state={editorState:editorState.createEmpty()};
}
onEditorStateChange=editorState=>{
this.setState({editorState});
};
render(){
const{editorState}=this.state;
返回(
);
}
}
导出默认MyEditor;

请帮帮我,伙计们。谢谢。

尝试在React使用
useffect
hook更新DOM后返回
编辑器。例如:

const[editor,setEditor]=useState(false)
useffect(()=>{
setEditor(真)
})
返回(
{编辑(
):null}
)

我有samo错误日志:
\react draft wysiwyg.js:1:393)
未定义窗口。。。是同一个错误点吗?错误信息是什么?它认为这是因为我们在服务器端呈现的组件没有定义窗口