小编Re9*_*Nee的帖子

如何在 Next 13.4 中创建门户/模式

我想在 NextJS 13.4 中创建一个 Modal(使用新的layout.tsx 文件系统),但我做不到。由于这是一个新事物,我在网上也找不到解决方案。

以下是我尝试过的事情:

编辑

  1. 在解决方案中:
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. 如何在 Next Js 中创建门户

由于本教程的第 1 步是创建一个 …

modal-dialog reactjs next.js react-portal

10
推荐指数
1
解决办法
7772
查看次数

标签 统计

modal-dialog ×1

next.js ×1

react-portal ×1

reactjs ×1