我想在 NextJS 13.4 中创建一个 Modal(使用新的layout.tsx 文件系统),但我做不到。由于这是一个新事物,我在网上也找不到解决方案。
以下是我尝试过的事情:
编辑:
import React from "react";
import { createPortal } from "react-dom";
const Modal = () => {
return createPortal(
<React.Fragment>
<div>your content</div>
</React.Fragment>,
Document.body as HTMLElement
);
};
export default Modal;
Run Code Online (Sandbox Code Playgroud)
它会抛出:
文档未定义
尝试从“next/document”导入文档,但仍然无法正常工作。
另一个错误是error Error: createPortal was called on the server. Portals are not currently supported on the server. Update your program to conditionally call createPortal on the client only.
我在第一行添加了“使用客户端”,它将解决该错误。
但仍然没有显示模态内容的结果。
由于本教程的第 1 步是创建一个 …