首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么不推荐在react,Angular中通过jQuery等外部库进行DOM操作

在React和Angular中不推荐使用jQuery等外部库进行DOM操作的原因有以下几点:

  1. 重复工作:React和Angular已经提供了自己的虚拟DOM(Virtual DOM)机制,它们会负责管理和更新DOM。使用jQuery等外部库进行DOM操作会导致重复的工作,增加了代码的复杂性和维护成本。
  2. 性能问题:React和Angular的虚拟DOM机制可以高效地进行DOM更新,通过比较虚拟DOM树的差异来最小化实际DOM操作的次数。而使用jQuery等外部库进行DOM操作会直接修改实际DOM,可能会导致频繁的重绘和回流,影响页面性能。
  3. 数据流一致性:React和Angular都采用了单向数据流的模式,即数据从父组件向子组件传递,子组件通过props接收数据并渲染。如果使用jQuery等外部库直接修改DOM,可能会导致数据流的不一致,破坏了组件的封装性和可维护性。
  4. 框架限制:React和Angular都有自己的生命周期和钩子函数,用于处理组件的初始化、更新和销毁等操作。使用jQuery等外部库进行DOM操作可能会绕过这些框架提供的机制,导致组件的生命周期管理混乱,难以维护和调试。

综上所述,为了保持代码的简洁性、性能优化和数据流的一致性,推荐在React和Angular中使用它们提供的API和机制进行DOM操作,而不是依赖于外部库如jQuery。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

2022 年十大 JavaScript 框架

你可以把它看作一个模板,能够通过添加代码进行选择性地修改。JavaScript 框架使用共享资源,如图像、和其他参考文档,并将它们打成一个包。...除了基于组件和声明性的特性使它在开发人员如此受欢迎之外,React.js 的还有一些其他特性:包括虚拟 DOM、事件处理、JSX、性能和 React Native。...jQuery 通过一个可用于多种浏览器的易于使用的 API,使你可以更容易地完成 HTML 文档的事件处理、遍历、动画、操作和 AJAX 调用。...jQuery 还有一些特性包括 HTML 操作DOM 操作、CSS 操作、HTML 事件方法、效果和动画、DOM 元素选择、AJAX 和实用工具。...在 TypeScript 编写,Angular 实现了可选和核心功能,你可以将其作为一组 TypeScript 导入到应用程序

2.8K20

多种前端框架的优缺点「建议收藏」

3、出色的DOM操作的封装:JQuery封装了大量常用的DOM操作 4、可靠的事件处理机制:JQuery的事件处理机制吸收了JavaScript专家Dean Edwards编写的事件处理函数的精华...,很容易写出 四不像的代码, 例如js还是像jQuery的思想有很多dom操作. 5.DI 依赖注入 如果代码压缩需要显示声明 6.AngularJS的路由机制,很容易出问题 7.验证功能错误信息显示比较薄弱...React特性如下:      1.声明式设计:React采用声明范式,可以轻松描述应用。 2.高效:React通过DOM的模拟,最大限度地减少与DOM的交互。...3.灵活:React可以与已知的或框架很好地配合。 优点: 1. 速度快:在UI渲染过程React通过在虚拟DOM的微操作来实现对实际DOM的局部更新。 2....状态 Vue的数据是可变的(mutated),改变数据,页面就会重新渲染更新。(Vue改变状态的操作不仅更加简洁,而且它的重新渲染系统实际上比React的更快更高效。)

3.6K20
  • 现代前端开发路线图:从零开始,一步步成为前端工程师

    学习如何用JavaScript来操纵DOM,比方说如何从页面移除一些元素,如何增加一些元素,增加和移除类,通过JavaScript应用CSS样式。...我应该学jQuery吗? 曾经有一段时间每个人都对jQuery疯狂,也有充分的理由;这是一个强大的,在JavaScript基础上提供了一个封装,让你可以用兼容浏览器的方式执行任何东西。...现在学以致用吧 在对包管理器有了基本了解之后,你就可以去安装一些外部到你前面制作的一些网页上了,比如安装一些提示插件,当用户点击某个按钮时显示提示信息,或者创建一个登录表单用一些表单验证进行表单验证...不过特别说明一下,作为初学者你也许会发现相对而言Angular会容易点,也许是因为它支持几乎一切立即可用的东西,比如支持延迟加载的强大路由器,支持拦截器的HTTP客户端,依赖注入,组件CSS封装而不需要关心选择外部的问题...至于这种假设的原因我会在将来的文章解释,不过主要是因为Angular提供的其中的一些即时可用的标准和关键功能。但这并不意味着React就是坏的,它们各自都有自己的地位,我以后会进一步细谈。

    75360

    2021大厂(阿里、百度、字体跳动、腾讯)前端面试题库

    23.如何进行算数和逻辑操作 24.什么是“加载有效地址” 25.什么是一元和二元操作 数据结构与算法 1.什么是复杂度分析 ?...的$()是什么?...5.jQuery的方法链是什么?使用方法链有什么好处? 6.如何将一个HTML元素添加到DOM的? 7.说出jQuery中常见的几种函数以及他们的含义是什么? 8.jQuery 能做什么?...9.jquery的选择器和CSS的选择器有区别吗? 10.jQuery的特点都有什么? React 1.什么是React? 2.React有什么特点? 3.列出React的一些主要优点。...4.React有哪些限制? 5.什么是JSX? 6.你了解 Virtual DOM 吗?解释一下它的工作原理。 7.为什么浏览器无法读取JSX? 8.如何理解“在React,一切都是组件”这句话?

    1.8K20

    vue相比jquery_angular和vue哪个厉害

    jQuery到Vue的转变是一个思想的转变,将原有的直接操作dom的思想转变到操作数据上 前言:很多人说jquey和vue没有什么可比的,应该和AngularReact来比吧,我到觉得他们倒没有多大的可比性...然而从jquery到vue或者说是到mvvm的转变则是一个思想想的转变,是将原有的直接操作dom的思想转变到操作数据上去,难道不是一个根本性的改变吗?...当然还有很多其他的mvmm框架如AngularReact都是大同小异,本质上都是基于MVVM的理念。 然而vue以他独特的优势简单,快速,组合,紧凑,强大而迅速崛起 。...1.jQuery是使用选择器$选取DOM对象,对其进行赋值,取值,事件绑定,而Vue则是通过Vue对象ViewModel将数据和View完全分离开了。...对数据操作不再需要引用相应的DOM对象,即数据和View是分离的,通过Vue对象vm实现相互的绑定。

    68420

    AngularJS 1 教程

    jQuery 的不同 jQuery,面向DOMAngular 面向模型,思路要转变。...---- JS Bin on jsbin.com 同样的一个简单需求,可以明显看得出jQuery业务代码,直接操作DOM代码揉杂在一块,而AngularJS代码关心业务逻辑,HTML描述界面非常的清晰...还有相对反直觉的一点是, 如果页面交互复杂,而开发人员对DOM操作精通,jQuery遍地$()的使用方式很容易造成性能问题 。 遍地所谓的jQuery插件严重使得代码膨胀,性能低下!!!...学习AngularJS 1 AngualrJs则通过数据双向绑定屏蔽了DOM操作,MVC解耦代码,依赖注入,自定义指令来复用代码,然后配合强大的路由,本地化,安全特性,成功地成为了前ES6时代最流行的前端框架...需要注意的是controller操作数据即可,不要试图操作DOM,这点jQuery的同学一定要忍住,如果需要操作DOM,请使用指令,后续会讲到。

    4.6K30

    前端开发路线图——从小白到前端工程师

    学习如何用JavaScript来操纵DOM,比方说如何从页面移除一些元素,如何增加一些元素,增加和移除类,通过JavaScript应用CSS样式。...我应该学jQuery吗? 曾经有一段时间每个人都对jQuery疯狂,也有充分的理由;这是一个强大的,在JavaScript基础上提供了一个封装,让你可以用兼容浏览器的方式执行任何东西。...现在学以致用吧 在对包管理器有了基本了解之后,你就可以去安装一些外部到你前面制作的一些网页上了,比如安装一些提示插件,当用户点击某个按钮时显示提示信息,或者创建一个登录表单用一些表单验证进行表单验证...不过特别说明一下,作为初学者你也许会发现相对而言Angular会容易点,也许是因为它支持几乎一切立即可用的东西,比如支持延迟加载的强大路由器,支持拦截器的HTTP客户端,依赖注入,组件CSS封装而不需要关心选择外部的问题...至于这种假设的原因我会在将来的文章解释,不过主要是因为Angular提供的其中的一些即时可用的标准和关键功能。但这并不意味着React就是坏的,它们各自都有自己的地位,我以后会进一步细谈。

    1.3K10

    现代前端开发路线图:从零开始,一步步成为前端工程师

    学习如何用JavaScript来操纵DOM,比方说如何从页面移除一些元素,如何增加一些元素,增加和移除类,通过JavaScript应用CSS样式。...我应该学jQuery吗? 曾经有一段时间每个人都对jQuery疯狂,也有充分的理由;这是一个强大的,在JavaScript基础上提供了一个封装,让你可以用兼容浏览器的方式执行任何东西。...现在学以致用吧 在对包管理器有了基本了解之后,你就可以去安装一些外部到你前面制作的一些网页上了,比如安装一些提示插件,当用户点击某个按钮时显示提示信息,或者创建一个登录表单用一些表单验证进行表单验证...不过特别说明一下,作为初学者你也许会发现相对而言Angular会容易点,也许是因为它支持几乎一切立即可用的东西,比如支持延迟加载的强大路由器,支持拦截器的HTTP客户端,依赖注入,组件CSS封装而不需要关心选择外部的问题...至于这种假设的原因我会在将来的文章解释,不过主要是因为Angular提供的其中的一些即时可用的标准和关键功能。但这并不意味着React就是坏的,它们各自都有自己的地位,我以后会进一步细谈。

    77810

    1. Vue框架介绍

    ,还可以开发手机App, Vue语法也是可以用于进行手机App开发的,需要借助于Weex) Vue.js 是前端的主流框架之一,和Angular.js、React.js 一起,并成为前端三大主流框架!...主要负责MVC的V这一层;主要工作就是和界面打交道,来制作前端页面效果; 为什么要学习流行框架 企业为了提高开发效率:在企业,时间就是效率,效率就是金钱; 企业,使用框架,能够提高开发的效率...; 提高开发效率的发展历程:原生JS -> Jquery之类的类 -> 前端模板引擎 -> Angular.js / Vue.js(能够帮助我们减少不必要的DOM操作;提高渲染效率;双向数据绑定的概念通过框架提供的指令...,我们前端程序员只需要关心数据的业务逻辑,不再关心DOM是如何渲染的了) 在Vue,一个核心的概念,就是让用户不再操作DOM元素,解放了用户的双手,让程序员可以更多的时间去关注业务逻辑; 框架和的区别...例如:从Jquery 切换到 Zepto 例如:从 EJS 切换到 art-template 后端的 MVC 与 前端的 MVVM 之间的区别 MVC 是后端的分层开发概念; MVVM是前端视图层的概念

    91220

    RxJS 之于异步,就像 JQuery 之于 dom

    '); 比起用原生 dom api 来写简化太多了!这也是为什么 JQuery 当年那么火的原因。...虽然现在都用 Vue、React 这种数据驱动的前端框架来写页面,基本不直接操作 dom 了。但涉及到一些活动页需要直接操作 dom 的场景,用 JQuery 依然很方便。...能不能就像 JQuerydom 操作的封装那样,把异步逻辑也给封装一层,简化下异步逻辑的编写呢? 确实有这样的一个,就是 Rx.js。...写 JQuery 的时候我们是把 dom 封装了一层,比如 const container = (dom),这样就能用 JQuery 内置的工具函数或者通过插件扩展的一些函数,通过链式调用把逻辑串起来。...总结 用原生的 dom api 进行 dom 操作比较繁琐,所以我们会使用 JQuery,它把 dom 包了一层,提供了很多方便的内置 api,而且还支持通过插件扩展,这样极大的简化了 dom 操作

    1.8K10

    分享下 Backbone、Vue、AngularReact 在项目上的使用经验

    而在下一层 View,PageView 则会继承这样的设计,以此类推。 这样的设计,看上去似乎并不存在问题。可当我们需要操作 DOM,我们就会用到 jQuery/Zepto。...还有一个问题是,排查哪个 View 操作DOM 变成了一件极其困难的事。 全局搜索相应的 ID,再寻找其继承关系,一一调试过来。...而除了每一层 View 的关系外,还有在全局中会对一些 DOM 进行处理。 当你在某一层级修改了DOM 的时候,我只能祝你好运了。 而在新的 MV* 框架里,则可以使用模块化来解决问题。...当用户由在产品详情页,刷新页面时,我们需要将一些数据,通过 URL hash 传递到后台,然后解析 blabla。这些完了,还要考虑将这个状态再传到前端。...完成生成代码后,编写对应的 Message Queue,其将根据后台数据的增、删、改来生成、删除、重新生成相应的 HTML。 没项目完,我就换到一个新的项目。

    2.2K60

    01_Vue的简单介绍

    什么是Vue.js Vue.js 是目前最火的一个前端框架,React是最流行的一个前端框架(React除了开发网站,还可以开发手机App, Vue语法也是可以用于进行手机App开发的,需要借助于Weex...) Vue.js 是前端的主流框架之一,和Angular.js、React.js 一起,并成为前端三大主流框架!...主要负责MVC的V这一层;主要工作就是和界面打交道,来制作前端页面效果; 为什么要学习流行框架 企业为了提高开发效率:在企业,时间就是效率,效率就是金钱; 企业,使用框架,能够提高开发的效率;...提高开发效率的发展历程:原生JS -> Jquery之类的类 -> 前端模板引擎 -> Angular.js / Vue.js(能够帮助我们减少不必要的DOM操作;提高渲染效率;双向数据绑定的概念...【通过框架提供的指令,我们前端程序员只需要关心数据的业务逻辑,不再关心DOM是如何渲染的了】) 在Vue,一个核心的概念,就是让用户不再操作DOM元素,解放了用户的双手,让程序员可以更多的时间去关注业务逻辑

    54230

    前端三大主流框架如何去选择?

    今天我们聊一聊现在主流的三大前端框架,ReactAngular、Vue。em。。。等等,稍微纠正一下,React其实并不能算是真正的前端框架,它其实更类似于像JQuery一样的前端包。...先说一下为什么想聊一下这个话题,因为在工作我发现有的人会React,有的人会Angular,还有的人会Vue,甚至有的人并不会这三个主流框架的任何一个,而仅仅会JavaScript,而这些朋友统称为前端工程师...但是没办法,如果写清楚需要熟悉Angular,你会收到一堆匹配的简历。所以今天聊这三个框架我并不想说出类似于“React是最好的前端框架”这种话。...在这个热度比较对Vue有很多不公平,因为很多国人可能会通过百度国内搜索引擎,但这里我们不深究,因为即时如此ReactAngular可以说是国际流行,Vue与这两个框架在市场份额上还是有所差距。...React Native让React具有多平台的能力。React最大的优点就是通过虚拟DOM实现高性能,并且具有繁荣的生态社区。

    1K20

    Vue.js入门笔记 初识Vue

    什么是Vue.js Vue.js是目前最火的一个前端框架,React是最流行的一个框架(React除了可以开发网站,还可以开发手机App); Vue.js是前端的主流框架之一,和Angular.js和React.js...主要负责MVC的V这一层;主要工作就是和界面进行打交道。...为什么要学习流行框架 企业为了提高开发效率;在企业,时间就是效率、效率就是金钱; 提高开发效率的发展历程:原生JS、JQuery之类的类、前端模板引擎、Angular.js / Vue.js(能够帮助我们减少不必要的...DOM操作;提高渲染效率;酸性数据绑定的概念【通过框架提供的指令,前端程序员只关心数据的业务逻辑,不再关心DOM是如何渲染的】); 在Vue.js,一个核心的概念,就是让用户不在操作DPM元素,解放了用户的双手...node的express (插件):提供一个小功能,对项目的侵入性比较小,如果某个无法帮助某些需求,可以很容易进行切换到其他实现需求。

    1.1K10

    Jquery和vue对比

    当然还有很多其他的mvmm框架如AngularReact都是大同小异,本质上都是基于MVVM的理念。...然而vue以他独特的优势简单,快速,组合,紧凑,强大而迅速崛起  3.vue和jquey对比  jQuery是使用选择器()选取DOM对象,对其进行赋值、取值、事件绑定操作,其实和原生的HTML的区别只在于可以更方便的选取和操作...对数据进行操作不再需要引用相应的DOM对象,可以说数据和View是分离的,他们通过Vue对象这个vm实现相互的绑定。这就是传说中的MVVM。...dom元素节点,并对dom进行添加一个标签的操作,如果dom结构特别复杂,或者添加的元素非常复杂,则代码会变得非常复杂且阅读性低 vue: <!...,vue侧重数据绑定,jquery侧重样式操作,动画效果,则会更加高效率的完成业务需求 5.

    2.9K21

    Vue 快速体验

    Vue 快速体验 Vue 介绍 Vue 是什么 Vue.JS是优秀的前端 JavaScript 框架 react/angular/vue 和框架的区别: (如jQuery) 是工具....提供大量API,体现了封装的思想、需要自己调用这些API 框架 框架提供了一套完整解决方案, 使用者要按照框架所规定的某种规范进行开发 为什么要学习 Vue 传统开发模式: JQuery+RequireJS.../SeaJS+artTemplate+Gulp/Grunt 随着项目业务场景的复杂,传统模式已无法满足需求 就出现了Angular/React/Vue框架 企业需求 主流框架之一(React Angular...vue(借鉴了react的虚拟DOM,借鉴了angular双向数据绑定) 通过 指令 扩展了 HTML,通过 表达式 绑定数据到 HTML 解耦视图与数据 可复用组件 虚拟DOM...Vue框架提供的语法 扩展了HTML的能力 减少DOM操作           {{message}}        <!

    97910

    一.Vue介绍

    什么是Vue Vue.js 是目前最火的一个前端框架,React是最流行的一个前端框架(React除了开发网站,还可以开发手机App, Vue语法也是可以用于进行手机App开发的,需要借助于Weex)...Vue.js 是前端的主流框架之一,和Angular.js、React.js 一起,并成为前端三大主流框架!...主要负责MVC的V这一层;主要工作就是和界面打交道,来制作前端页面效果; 为什么要学习流行框架 企业为了提高开发效率:在企业,时间就是效率,效率就是金钱; 企业,使用框架,能够提高开发的效率;...提高开发效率的发展历程:原生JS -> Jquery之类的类 -> 前端模板引擎 -> Angular.js / Vue.js(能够帮助我们减少不必要的DOM操作;提高渲染效率;双向数据绑定的概念【通过框架提供的指令...,我们前端程序员只需要关心数据的业务逻辑,不再关心DOM是如何渲染的了】) 在Vue,一个核心的概念,就是让用户不再操作DOM元素,解放了用户的双手,让程序员可以更多的时间去关注业务逻辑; 框架和的区别

    43110

    聊聊我对现代前端框架的认知

    现在的一些应届生和刚入行的人们,在刚一踏入前端这个行业起就会面临着是学习Vue还是学习React又或者是学习Angular这样的选择问题。...那这个时候我们会发现用jQuery来开发应用,我们的代码变得很难以维护,那为什么使用现代框架比如Vue,React就变得容易维护了呢?...jQuery是命令式的操作DOM,命令式的局部更新视图,而现代主流框架Vue,ReactAngular都是声明式的,声明式的局部更新视图。 为什么声明式的操作DOM就可以让应用变得好维护了呢?...声明式 声明式是通过描述状态与视图之间的映射关系,然后通过这样的一个映射关系来操作DOM,或者说具体点是用这样的映射关系来生成一个DOM节点插入到页面去。比如Vue的模板。...而jQuery是两个行为,状态+DOM操作。 所以声明式为什么可以简化维护应用代码的复杂度? 因为它让我们可以把关注点只放在状态的维护上。

    76120

    前端开发,从草根到英雄(下)

    我们将要做的事是从操作一些页面的元素而获得一些乐趣。试试看,你是否可以进行下面将要描述的所有DOM操作。...你还可以在这篇文章补充Fetch polyfill知识。 jQuery 目前为止,你已经使用JavaScript对DOM做了很多操作了。...事实是,已经有很多DOM操作,他们提供API来简化你的代码。 最流行的DOM操作jQuery,记住,jQuery是一个imperative,它是在前端系统还没有今天这么复杂的时候开发的。...今天,为了管理复杂的UI,我们会使用declarative框架和,例如AngularReact。然而,我仍然建议你学习jQuery,因为作为一名前端工程师,你一定会在工作遇到它的。...实验3 实验3集于练习如何应用DOM操作jQuery技能。

    95710
    领券