当前位置: 首页 > 知识库问答 >
问题:

到底是什么让ReactJS像它声称的那样快?

祁绪
2023-03-14

我正在学习ReactJS,并试图理解是什么使它比其他框架和库提供的解决方案更“快”和更特别。

我意识到以下几点:

  1. Virtual DOM以及React如何运行一个diff以采取最少的步骤来确定“更改”并相应地响应/重新呈现,而不是在其他框架/库中进行传统的“脏检查”操作。
  2. 以声明方式编程,而不是通过“可观察”模式强制实现。

因此,从概念上讲,上面的陈述对我来说都很好,但是,当我考虑现实生活中的用例和实践时,我无法想象其中的好处:

>

  • 考虑使用jQuery:

    $(“#box”).removeClass(“red”).addclass(“blue”);

    任何洞察力,指针和例子将非常感谢!

  • 共有1个答案

    顾琛
    2023-03-14

    您可能是对的,在这种情况下,jQuery可能更快(我没有测试过)。但是考虑一下,为什么要使用jQuery-如果使用了,不是会更快吗

    document.getElementById("MyID").className = document.getElementById("MyID").className.replace(/\bred\b/,'');
    document.getElementById("MyID").className = document.getElementById("MyID").className + ' blue';
    

    所以实际上,我们并不是想在原始速度上进行竞争,否则你就会用纯javascript编写,我知道一些公司这样做纯粹是为了在移动上更快。

    框架的好处是维护和开发速度。使用纯javascript编程比jQuery更难伸缩和维护,同样,使用jQuery编程比React更难伸缩和维护。虽然情况正好相反,但使用jQuery获得一个功能最小的可用应用程序要快得多(但是在构建mvp之后,维护它就变得困难得多)

     类似资料:
    • 问题内容: 我到处都是关于React动态路由的信息。但是我找不到任何可以解释其工作原理以及与静态路由在各个方面都有何不同的东西。 当我们想使用React-Route在同一页面中渲染某些东西时,我非常了解事情的发展。 我的问题是,当要渲染整个新页面时,它如何工作?因为在这种情况下,必须重新呈现该页面内的所有DOM。因此,这将是静态路由吗?还是在某些方面还是动态的? 我希望我已经清楚了。感谢您预先提供

    • 问题内容: 我知道这是一个内在的笑话,它会留下来(就像“ ”一样),但是它到底是做什么的呢? 问题答案: 与PEP 0401:BDFL退休有关 Barry指著名的Python开发人员Barry Warsaw。该基本取代了与运营商。

    • 问题内容: 我现在正在阅读J2EE 1.4规范,有很多我不明白的术语会做什么。这是从容器规范中得出的: 容器为J2EE应用程序组件提供运行时支持。容器为应用程序组件提供了底层J2EE API的联合视图。J2EE应用程序组件从不与其他J2EE应用程序组件直接交互。他们使用容器的协议和方法相互之间以及与平台服务进行交互。在应用程序组件和J2EE服务之间插入一个容器可以使该容器透明地注入由组件的部署描述

    • 主要内容:JSP的由来,Servlet与JSP异同点,JSP相对于Servlet的优点JSP(Java Server Pages)是一种动态网页开发技术。JSP 文件就是在传统的 HTML 文件中插入 Java 代码和 JSP 标签,后缀名为 。 JSP 与 PHP、ASP、ASP.NET 等语言类似,都运行在服务端。通常返回给客户端的就是一个 HTML 文件,因此只要有浏览器就能查看 JSP 页面。 JSP 使用 JSP 标签在 HTML 网页中插入 Java 代码,标签通常以

    • 直到我在旧存储库中随机检查 ,我才听说过这个文件,它就是一个我自己没有编辑过也从未见过的文件。我不知道它是如何到达那里的。 似乎很常见 - 主要是如何删除它(例如这里和这里)。 这个文件是什么,是什么创建了它?

    • 基本上,为什么有这个术语? 还有,接口是什么意思?