reactjs - 当它不必要地运行 js 代码时如何反应更快更有效
问题描述
我很震惊地看到我的代码多次运行以呈现/更新一个 UI。我有一个组件接受用于 API 调用的新道具 id。当组件接收到道具时。它不必要地运行渲染,我使用 componentDidUpdate 调用它第二次运行渲染的 API。这不会让你的程序变慢吗?或者我是在错误地构建我的反应应用程序并且根本不理解反应。
我还有一个 setState 来允许条件渲染,所以它的渲染 - 当它接收到 id props 渲染时 - 当我 setState 加载渲染时 - 当我切换 setState 以显示 API 结果时
因此,它的 3 次渲染用于 1 次 UI 更改。
解决方案
React 使用虚拟 DOM 和差异算法来更新真实 DOM,因此真实 DOM 在每次渲染时都不会更改。只有实际更改的部分才会更新,因此性能和效率是最好的之一。
推荐阅读
- apache-spark - 在 spark 中读取多个 csv 文件时跳过多行标题
- jenkins - Kubernetes部署后如何访问应用程序
- firebase - Cloud Firebase 分析在 Xamarin.iOS 中不起作用?
- json-ld - Json-ld 未按预期转换为 RDF
- image-processing - 对多层 pdf 文档使用转换时 --run-- 中的 ImageMagick 错误范围检查
- hyperledger-fabric - 获取错误 拉取最后一个配置块失败:重试尝试在 raft orderer 上耗尽通道
- javascript - SAPUI5 无法访问数组并将其提供给 JSONModel
- android - 仅在 Android 版 Facebook SDK 中关闭购买事件的自动收集
- java - Dagger2 - 在@Module 中插入值而不使用构造函数
- javascript - 多次单击按钮时在 vue-router 中未捕获(承诺)