在渲染中创建函数是否不好?

2024-02-09

像这样将函数放入渲染中是一种不好的做法吗?

这些函数是否会在每次渲染时创建,从而导致性能下降?性能影响有多大?是否有一个链接可以衡量这一点,或者有可靠的消息来源说这很糟糕?

这是否会导致不必要的渲染?我听说这尤其不是一个好主意PureComponent.

很难澄清这是否可以。

class MyComponent extends Component {
  ...

  render() {
    const myFunc1 = () => {};
    const myFunc2 = () => {};
    const myFunc3 = () => {};
    const myFunc4 = doSomething(() => {});

    return (
      <div>hello world</div>
    );
  }
}

像这样将函数放入渲染中是一种不好的做法吗?

Yep

这些函数是否会在每次渲染时创建,从而导致性能下降?

Yes

性能影响有多大?

它可以从完全可以忽略不计(大多数简单组件)到绝对关键(如果您不断在复杂的应用程序上重新渲染整个树)。

是否有一个链接可以衡量这一点,或者有可靠的消息来源说这很糟糕?

See 蔡斯·德安达的回答 https://stackoverflow.com/a/44849061/1380332.

这是否会导致不必要的渲染?我听说这对于 PureComponent 来说尤其不是一个好主意。

事实上,由于该函数将在每次渲染时创建,因此如果将它们传递给 PureComponent,它会认为该函数已更改并会再次渲染。

很难澄清这是否可以。

我希望这有帮助。

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

在渲染中创建函数是否不好? 的相关文章

随机推荐

  • 如何在 C 中使用 printf 打印 unsigned long int ? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在C中打印 unsigned long https stackoverflow com questions 3209909 how to printf unsigned long in gcc 我
  • 为什么我的愿望清单仅限于一项?

    我使用magento 1 9 我的愿望清单有问题 出于某种原因 它只会让我在我的愿望清单中包含一个项目 当我将另一个项目添加到愿望清单时 它会替换我的愿望清单中已有的项目 有配置中没有任何内容来限制愿望清单项目 我只是有点困惑为什么要这样做
  • 如何将 POST 请求重定向到在 MVC 中维护模型值的 url

    我有一个相当标准的排序 过滤器 页面搜索表单 但需要控制 url 的格式 排序 过滤器 页面参数都应该是 url 的一部分 以便可以将地址通过电子邮件发送给某人 当添加另一个过滤器参数时 会发出 POST 请求 我的控制器方法如下所示 Ht
  • RecyclerView 与 ImageView 以及不同的 Activity

    我拥有的 一个 RecyclerView 其中包含酒吧 咖啡店等地方的图片 我想要的 当您单击这些图像之一时 我会向您显示所选地点的信息 我的问题 我该如何设置OnCLickListener例如第三张图片 很多人告诉我在我的 onBindV
  • 如何在matplotlib条形图后面绘制网格线

    x 01 02 02 02 03 02 04 02 05 02 y 2 2 3 7 2 fig ax plt subplots 1 1 ax bar range len y y width 0 3 align center color sk
  • .htaccess 将所有内容重写到父目录

    我正在尝试重写对父目录的每个请求 这是我的 htaccess 的内容 RewriteEngine on RewriteRule 1 不幸的是 这不起作用并导致 错误请求 错误 这可能吗 应该夹在 之间 这样系统就知道它应该将表达式 记忆 为
  • Visual Studio 2017 控制台应用程序:预编译头

    最近我更新了我的 Visual Studio 2017 从那时起 我无法创建 Windows 控制台应用程序项目 文件 新建 项目 我选择了 已安装 Visual C Windows控制台应用程序 当我单击 确定 时 没有出现应用程序设置向
  • 将自定义变量/参数从电子邮件模板传递到 phtml 文件

    我被困在我的自定义代码中 我想将自定义变量从电子邮件模板传递到 pthml 文件 编辑文件 应用程序 代码 本地 法师 销售 模型 Order php 在这个函数中 public function sendNewOrderEmail def
  • linux inotify 事件用于重命名()并覆盖

    我有一个小型应用程序 它监视目录树中特定类型的文件名 monitored 它统计匹配文件的数量 使用 inotify 监视添加或删除匹配文件的各种事件 并可以轮询报告当前文件数量 以及过去几年添加和删除文件的平均速率秒 目录树可以包含数十万
  • 为开源贡献内部工具值得付出努力吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我知道这是一个普遍问题 但我想听听其他人对我们案例的看法 我在一家小公司工作 我们的主要开发工具是 PowerBuilder 这是一个非常有限的
  • OpenCV 的 .Net (dotNet) 包装器? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我见过有几个 opencvdotnet http code google com p opencvdo
  • 在 C++ 中是否有通过引用返回新对象实例的正确方法?

    所以我正在编写一些代码 我有这样的代码 class Box private float x y w h public Rectangle GetRect void const return Rectangle x y w h 然后在一些代码
  • boost find in共享内存方法陷入c++多进程项目中

    我正在使用 boost 的 ipc 库来保存复杂的对象 包括图像 在共享内存中 由多个进程使用 我们称这个对象为MyImage 共享内存是一个循环缓冲区 保存了几个MyImage一次对象 在我的代码中 有两个 或更多 进程写入共享内存中的一
  • 为什么 JSX 中只能使用表达式,而不能使用语句?

    在继续之前 我应该提到的是 是的 我已经阅读了 在 React JSX 中使用 if 语句 https stackoverflow com questions 46156968 use if statement in react jsx 及
  • Docker 的 postgres 容器的密码验证失败

    我正在尝试 dockerize 我的 Django 项目 为此 我尝试将整个项目分为两部分 整个网络相关的事物都在一个容器中 数据库 即另一个中的 Postgres 我正在使用命令创建 Postgres 数据库容器 docker run n
  • 如何在Linux上内联string.h函数?

    我想优化一些代码 以便 string h 中的所有函数都将被内联 我在 x86 64 上 我尝试过 O3 minline all stringops 当我执行 nm a out 时 它显示它正在调用 glibc 版本 使用 gcc S 检查
  • 将 Xcode 项目从一台 Mac 复制/导入到另一台 Mac

    我刚刚购买了一台新 iMac 我想将我的所有 Xcode 项目从我的旧 MacBook 复制 导入到它上 在不设置 SVN 存储库的情况下如何做到这一点 两台机器都在家里的同一网络上 这应该很简单 但我只是不知道如何 提前致谢 您所需要做的
  • Google 建议 Security ProviderInstaller 将 TLS 降级至 1.2?

    使用 OkHttp 和Google 安全提供商安装程序 https developer android com training articles security gms provider与支持 TLS1 2 和 TLS1 3 的域的任何
  • ModuleNotFoundError:安装 python-poppler-qt5 时没有名为“sipdistutils”的模块

    我一直在尝试安装python poppler qt4但它显示了错误ModuleNotFoundError No module name sipdistutils 当我尝试安装时sipdistutils 它再次显示错误 错误信息 我在这里发现
  • 在渲染中创建函数是否不好?

    像这样将函数放入渲染中是一种不好的做法吗 这些函数是否会在每次渲染时创建 从而导致性能下降 性能影响有多大 是否有一个链接可以衡量这一点 或者有可靠的消息来源说这很糟糕 这是否会导致不必要的渲染 我听说这尤其不是一个好主意PureCompo