gpt4 book ai didi

javascript - 为什么不推荐通过 jQuery 等外部库在 React、Angular 中进行 DOM 操作

转载 作者:行者123 更新时间:2023-11-30 19:10:41 26 4
gpt4 key购买 nike

我看了很多文章,人们不推荐在 React 中使用 jQuery。

有时我觉得我们可以使用它们非常快速地完成一些操作。一些开发人员根本不在他们的代码库中包含 jQuery,但他们使用许多内部可能使用 jQuery 的 npm 模块。

jQuery Dom 不是 react 差异算法的一部分,那么它们如何影响性能?

最佳答案

基本的答案是这样的:

1) 对于动画,jQuery 执行浏览器内循环并且不利用 CSS3 转换。这会占用移动浏览器的时钟周期(电池电量),这就是为什么在使用 jQuery 时会出现参差不齐、不流畅的动画。但更重要的是,React DOM 很特别,因为它在自己的内部(“虚拟 DOM”)中维护了你的 DOM 的完整副本。现在想一想:您使用 jQuery 来更改 DOM,但 React 有 DOM 的旧副本。每次重新渲染时它都会使用 DOM 的这个副本,所以你只是让它的副本与真实的 DOM 不同步。当你这样做时,非常糟糕的事情可能会发生在你身上,你基本上完全对 React 的核心(虚拟 DOM)嗤之以鼻。

如果您想制作动画或在屏幕上移动东西,请忘掉您对 jQuery 的了解并学习 CSS3 过渡。然后用 React 的方式来做。

2) 对于所有非动画的东西,比如实用函数,尝试一个替代的(更小的)库,比如 lodash 或 underscore。他们有 map、each、pluck 等,可满足您所有的实用功能需求。

3) 我可以看到仅将 jQuery 用于一些非常专业的事情(例如节流和去抖动),但即使是那些现在也可能有其他选择。

关于javascript - 为什么不推荐通过 jQuery 等外部库在 React、Angular 中进行 DOM 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58512913/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com