最近在做nextjs项目,在引入一个markdown编译器的时候,报了Uncaught Error: navigator is not defined at updateDehydratedSuspenseComponent这样的一个错误。
这个错误实际上是由于在nextjs中,不管client components还是server components,它都会先在server side进行初始化渲染,因此,我们可以使用懒加载的方式去import组件。
import dynamic from "next/dynamic";
const SimpleMDE = dynamic(() => import("react-simplemde-editor"), {
ssr: false,
});
const page = () => {
return (
<SimpleMDE placeholder="Description" />
)
}
export default page;