nextjs13 中所有 mui 组件上的“使用客户端”是什么?

2023-11-24

我是 React/nextjs 开发的新手。一直认为反应组件在服务器中渲染并准备好缓存。

但是,如果 nextjs 13 将所有 mui 控件作为客户端组件,渲染将在哪里发生?

客户端?正如你所看到的,即使对于 2 行,React 的做法也是 1000 行。

它将整个网站/应用程序下载到客户端移动设备或桌面。

我在“.next”目录中看到 260mb。

有人可以解释一下最初下载的是哪一部分吗?

Nextjs .next 目录大小为 260mb


“use-client”是一个约定:

要使用客户端组件,请在应用程序内创建一个文件并添加“use client”指令位于文件顶部(在任何导入之前)。

默认情况下,NextJS 13 上 App 文件夹内的所有组件都是服务器组件。并且Server Components无法使用useState、useEffect等客户端功能。

目前,要使用第三方组件,解决方案是为每个不包含指令“use client”的客户端组件创建一个包装器:

'use client';

import { ThirdPartyComponent } from 'third-party-component';

export default ThirdPartyComponent;

我不确定在所有组件中包含“use-client”是否是一个好主意。仅对于具有反应钩子的组件才需要,这些组件需要状态或效果。

这是一个链接NextJS 13 服务器与客户端组件 docs

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nextjs13 中所有 mui 组件上的“使用客户端”是什么? 的相关文章

随机推荐

  • Linux 上的 openSSL 证书验证 [关闭]

    Closed 这个问题是无关 目前不接受答案 JKJS 我有这个证书链 cert pem self signed gt cert pem gt cert pem 所有三个证书都是我生成的 任何地方都没有使用互联网连接 这是完美的离线工作 现
  • XSS 安全。来自同一域的 2 个 iframe 之间的通信

    域 abc com 有一个包含 2 个 iframe 的页面 它们都是从域 xyz com 加载的 XSS 安全性是否会阻止这两个 iframe 之间的 JavaScript 访问 通信 交互 嗯 这取决于你所说的沟通是什么意思 似乎某种类
  • 访客设计模式-返回类型

    我使用访客设计模式来解决我们系统中的问题之一 作为如何实现它的参考 我使用了工厂现场 and 这个 YouTube 视频 在 DoFactory 示例中 访问者使用返回类型为 void 的方法 而在 YouTube 视频中 作者使用 dou
  • 将代码从 Mathematica 复制到其他平台的已知问题?

    我刚刚注意到 如果你在 MMA 8 0 1 win7 64 中有这个 然后你将它复制到SO 只需ctrl c ctrl v 你会得到这个 maxY minY stepy maxX minX stepx 这是数学上不等价 应该是这样的 max
  • AVCaptureSession 收到内存警告并无故崩溃

    我正在开发一个处理高清照片的应用程序 我正在使用 AVCaptureSession 拍照 停止它 然后对该照片应用效果 让我疯狂的是 一切都运行良好 仪器告诉我 我正确且按时地释放了我使用的所有内存 是的 它确实很高 有时达到 100mb
  • 为什么 Xcode 构建配置的精确副本会失败?

    我有一个react native具有桥接 Swift 代码的应用程序 可以使用 Xcode 毫无问题地构建 运行和存档10 0使用默认的Release and Debug构建配置 我用Xcode gt Product gt Archive或
  • 如何叠加不同单元格的图?

    在我笔记本的一个单元格中 我已经用以下内容绘制了一些内容 myplot plt figure plt plot x y 现在 在不同的单元格中 我想再次绘制完全相同的图形 但在其顶部添加新的图形 类似于两次连续调用所发生的情况 plt pl
  • 角度材质 - 更改单击的垫列表选项的颜色

    是否可以更改选中复选框的默认颜色 mat pseudo checkbox checked
  • preg_match_all() [function.preg-match-all]: 未知修饰符 ']'

    使用了几种不同的模式 但它们都出现了这个错误 那么出了什么问题呢 我要诊断的最短的一个是 pattern
  • 为什么使用“*”构建视图不好?

    为什么使用 构建视图不好 假设您有一个复杂的联接 并且所有字段都可能在某处使用 然后您只需选择所需的字段即可 SELECT field1 field2 FROM aview WHERE 视图 aview 可以是SELECT table1 t
  • 不需要导出仅包含虚拟/内联函数的类?

    在 Win32 上的 C 中 假设我有一个带有声明类的头文件的 DLL DLL 导出一些获取该类实例的指针 引用的方法 例如工厂函数 我是否正确地认为 如果只在其实例上调用虚拟或内联函数 则无需使用 declspec 将该类标记为导出 相反
  • 导入错误:无法导入名称 _imaging

    我安装了Pillow 然后我想做 from PIL import Image 我收到以下错误 Traceback most recent call last File
  • 如何在 MySQL 中搜索嵌套 JSON

    我使用 MySQL 5 7 和本机 JSON 数据类型 样本数据 code 2 stores code 100 quantity 2 code 200 quantity 3 code 4 stores code 300 quantity 4
  • 将同一对象两次添加到 ManyToManyField

    我有两个 Django 模型类 class A models Model name models CharField max length 128 irrelevant class B models Model a models ManyT
  • Mac OS X shell 实用程序,显示多核系统中各个 CPU 的使用情况

    我一直在寻找一个 osx 实用程序来显示每个 cpu 的 cpu 使用情况 例如 中央处理器 0 10 中央处理器 1 2 我知道有很多方法可以在其他类 Unix 系统 proc mpstat 等 中获取此信息 但在 osx 中都不起作用
  • 检查对象数组是否包含某个键

    我需要确定对象数组中是否存在某个键 这是一个示例数组 arrOfObj mainKey1 subKey1 innerKey1 innerMostKey1 key1 value mainKey2 key2 value mainKe
  • 如何使用 Javascript 下载、压缩和保存多个文件并获得进度?

    我正在创建一个 Chrome 扩展程序 需要从网站下载多个文件 图像和 或视频 这些文件可能很大 所以我想向用户显示下载进度 经过一番研究 我发现目前可能的解决方案可能是 使用 XMLHttpRequests 下载所有文件 下载后 使用 J
  • Hibernate:flush() 和 commit()

    打电话是个好习惯吗org hibernate Session flush 分别地 正如中所述org hibernate Session docs 必须在工作单元结束时 提交事务并关闭会话之前调用 根据刷新模式 Transaction com
  • Java 中的 for 循环如何检查其条件?

    我的问题与当存在 print 语句时 java 检查 for 循环条件的顺序有关in循环的 条件 这似乎是一件不切实际的事情 我从未见过它以任何实际的方式使用过 尽管我对打印内容缺乏理解 这让我认为我可能不完全理解 for 循环的功能 最近
  • nextjs13 中所有 mui 组件上的“使用客户端”是什么?

    我是 React nextjs 开发的新手 一直认为反应组件在服务器中渲染并准备好缓存 但是 如果 nextjs 13 将所有 mui 控件作为客户端组件 渲染将在哪里发生 客户端 正如你所看到的 即使对于 2 行 React 的做法也是