React:更新数组元素而不重新渲染其他数组元素

2024-01-12

是否有可能重新渲染一个元素一个数组的,阻止其他人重新渲染?

Example:拥有 500 个数组<Card>组件和编辑<Card>编号 27(更新myArray道具),我愿意仅重新渲染 <Card>27号。

render = () => {
    this.props.myArray.map(card => {
        return <Cards key={card.id} ...card />
    })
}

就我而言,<Card>组件有点重,如果它们没有单独更改,我想避免重新渲染它们,但一旦myArray道具变化和火灾render()方法,每一个<Card>正在重新渲染,导致每个上都出现一些性能问题<Card> change.


最后我通过使用解决了这个问题shouldComponentUpdate()中的方法Card正如加布里埃尔建议的那样,即使Card组件是更新数组的一部分,如果shouldComponentUpdate()回报false.

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

React:更新数组元素而不重新渲染其他数组元素 的相关文章

随机推荐

  • 如何在php中使用css样式

    我使用 php 显示来自 mysql 的数据 这是我的 CSS 语句
  • 在 Node.js 7 中抑制 UnhandledPromiseRejectionWarning 的正确方法是什么?

    在 Node js 中 我有一个仅包含一个函数的模块 该函数返回 Promise 并且该 Promise 可能会被拒绝 我仍然不想强迫该模块的所有用户明确处理拒绝 在某些情况下 根据设计 忽略返回的承诺是有意义的 另外 我不想剥夺模块用户处
  • 遗传算法/遗传编程解决方案有哪些好的例子? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 验证上下文始终为 NULL?

    我有自定义验证属性 如下所示 public class MyCustomAttribute ValidationAttribute protected override ValidationResult IsValid object val
  • 有没有办法在java应用程序中完全禁用RMI?

    在我们的应用程序中 远程过程调用是通过自己的基于 netty 的命令调度程序系统来解决的 我们有很多模块 大约 20 个 我想在单独的 jvm s 中运行所有模块 我的问题是 RMI 为每个 JVM 生成大约 17 个线程 我根本不需要 R
  • TailwindCSS:禁用的变体不起作用

    我正在尝试使用disabled顺风的变体 但它似乎不起作用 我不知道该怎么办 如果按钮被禁用 我想更改按钮外观 我已阅读文档 它说默认情况下未启用 禁用 变体 所以我修改了 tailwind config js 现在它看起来像这样 modu
  • 自动拉伸垂直列(div)

    检查这个fiddle http jsfiddle net Q7MFX 2 please 我想要以下内容 红色列有一些文本 黄色是动态内容 绿色没有任何内容 只是一种颜色 我希望红色和绿色列的高度与黄色内容一样高 height 100 没用
  • 在php中生成Excel文件时显示进度条

    我有一个 HTML 表单 当您通过单击按钮提交表单时 应用程序会使用 PHPExcel 生成一个 Excel 文件 一切正常 但是当 Excel 文件很大时 等待时间会很长 我想添加进度条或显示完成值的百分比 我的问题是我不知道如何将其插入
  • 基于堆栈的 RAII 是否保证仅在超出 C++ 范围后才能运行?

    使用时资源获取即初始化 RIAA http en wikipedia org wiki Resource Acquisition Is Initialization在 C 中 通常有以下内容 class CriticalSection pu
  • Camera2 Api..java.lang.IllegalArgumentException:Surface 没有有效的本机 Surface

    我尝试了很长时间将 Camera2 api 集成到我的应用程序中 它一开始捕获图像工作正常 但是当我第二次拍摄时 预览没有出现 我在 genymotion nexus 5 模拟器中测试了它 尝试了所有示例 预览是第二次不来拍照 也出现此错误
  • 从缓存中获取时完整性不正确

    跑步时yarn add dev jest I got 从缓存中获取时出现错误完整性错误 完整输出 tests master yarn add dev jest yarn add v1 19 0 info No lockfile found
  • 熔化 + strsplit,或与聚合相反

    我有一个小问题 在概念上似乎很简单 但我找不到方法 假设我有一个 data frame df2 其中一列列出了汽车品牌 另一列列出了每个品牌的所有型号 并用 分隔 我已经获得了 df2 聚合另一个名为 df1 的 data frame 主键
  • php json_encode 不转义新行

    我面临 json encode 的一些问题 当我 json encode 一个包含新行的数组时 它不会转义新行 而是删除 并保留 n ex array array name gt some text n r text results jso
  • 使用bat启动Powershell脚本

    我有一个批处理文件 test bat 来启动 powershell 脚本 pushd C myscripts powershell test ps1 arg1 arg2 with space arg3 popd 脚本 test ps1 位于
  • 仅当添加为引用时,在 C++ Windows 应用程序中引用本机 C++ DLL 才有效

    Visual Studio 2013 2015 我有一个空白的 C Windows 应用商店应用程序和同一解决方案中最简单的 DLL 仅导出void foo 在例如中使用此 DLL Win32 控制台应用程序按预期工作 包含 DLL 标头并
  • 如何将 raw_input 变量视为整数[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Mit Print kann ich das Programm den Wert einer Variablen ausgeben anz
  • 修改字符串(字符数组)[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我正在尝试用C语言修改一个字符串 char signal cat 8 if k 1 strcpy s signal ca
  • 我无法运行 geckodriver、python selenium ; [Win错误216]

    我有 win32 驱动程序 https github com mozilla geckodriver releases https github com mozilla geckodriver releases 并将exe放在python3
  • 如何刷新网站缓存?

    这个问题专门针对 Azure 在其门户中 我有一个在 Azure WordPress 中运行的测试站点 当我尝试查看我所做的更新时 我看不到它们 即使我刷新浏览器的缓存 或者在从未访问过该网站的新位置访问该网站 我也看不到这些更改 我的下一
  • React:更新数组元素而不重新渲染其他数组元素

    是否有可能重新渲染一个元素一个数组的 阻止其他人重新渲染 Example 拥有 500 个数组