React v-dom的理解

本文深入解析React中的虚拟DOM技术,包括其工作原理、优势及如何通过diff算法对比新旧虚拟DOM,极大提升应用性能,实现跨端应用如ReactNative。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

结构流程

  1. state数据
  2. jsx模板
  3. 先生成虚拟dom (就是一个JS对象)
  4. 数据和模板结合,生成真实的dom显示
  5. state数据发生改变
  6. 数据和模板生成新的虚拟dom (提升性能)
  7. 比较原始的虚拟dom和新的虚拟dom的区别,某个div部分内容 (极大提升性能)
  8. diff算法,同层比对数据
  9. 直接操作dom,改变内容

优点:

  • 提升性能,以前是dom比对, 现在是虚拟dom比对(JS对象比对)
  • 可以实现跨端应用, 如React Native
npm warn 342 more (ahooks, antd, rc-dialog, rc-dropdown, rc-menu, rc-picker, ...) npm warn npm warn Could not resolve dependency: npm warn peer react-dom@">=16.9.0" from rc-menu@9.8.2 npm warn node_modules/rc-menu npm warn rc-menu@"9.8.2" from the root project npm warn ERESOLVE overriding peer dependency npm warn While resolving: @floating-ui/react-dom@0.6.3 npm warn Found: react-dom@18.2.0 npm warn node_modules/react-dom npm warn react-dom@"18.2.0" from the root project npm warn 342 more (ahooks, antd, rc-dialog, rc-dropdown, rc-menu, rc-picker, ...) npm warn npm warn Could not resolve dependency: npm warn peer react-dom@">=16.9.0" from rc-util@5.27.2 npm warn node_modules/rc-util npm warn rc-util@"5.27.2" from the root project npm warn ERESOLVE overriding peer dependency npm warn While resolving: @floating-ui/react-dom@0.6.3 npm warn Found: react-dom@18.2.0 npm warn node_modules/react-dom npm warn react-dom@"18.2.0" from the root project npm warn 342 more (ahooks, antd, rc-dialog, rc-dropdown, rc-menu, rc-picker, ...) npm warn npm warn Could not resolve dependency: npm warn peer react-dom@"0.13.x || 0.14.x || ^15.0.0-0 || 15.x.x || ^16.0.0-0 || ^16.x.x || ^17.x.x || ^18.x.x" from react-draft-wysiwyg@1.15.0 npm warn node_modules/react-draft-wysiwyg npm warn react-draft-wysiwyg@"^1.15.0" from the root project npm warn ERESOLVE overriding peer dependency npm warn While resolving: @floating-ui/react-dom@0.6.3 npm warn Found: react-dom@18.2.0 npm warn node_modules/react-dom npm warn react-dom@"18.2.0" from the root project npm warn 342 more (ahooks, antd, rc-dialog, rc-dropdown, rc-menu, rc-picker, ...) npm warn npm warn Could not resolve dependency: npm warn peer react-dom@"^16 || ^17 || ^18" from react-quill@2.0.0 npm warn node_modules/react-quill npm warn react-quill@"^2.0.0" from the root project npm warn ERESOLVE overriding peer dependency npm warn While resolving: @floating-ui/react-dom@0.6.3 npm warn Found: react-dom@18.2.0 npm warn node_mo
最新发布
07-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值