logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

React Fiber 架构详解

解决页面卡顿:通过任务拆分和中断恢复,避免长时间占用主线程,确保用户交互(如输入、点击)和动画的流畅性。支持优先级调度:关键任务(如用户输入)优先执行,非关键任务延迟执行,提升用户体验。奠定并发基础:为 React 后续的并发特性(如Suspense异步加载、延迟更新)提供了底层支持。内存高效:双缓存机制避免了重复创建节点,副作用链优化了 DOM 操作的批量执行。React Fiber 架构的核心

#react.js#架构#前端
react native 实现原理

React Native 是一个允许开发者使用 JavaScript 和 React 语法构建跨平台原生移动应用的框架,其核心目标是在保持接近原生应用性能的同时,实现 "一次编写,多端运行"。它的实现原理可以从和。

#react native#react.js#javascript
React diff 算法的实现逻辑

分层对比:只对比同一层级节点,不跨层级,降低复杂度。节点复用判定:通过type和key双重校验,快速判断节点是否可复用。列表优化:通过key映射表和追踪位置,高效处理增删、移动操作,避免不必要的节点重建。副作用标记:将差异操作标记为effectTag,最终通过副作用链批量执行 DOM 操作。这一算法在保证大多数场景高效的前提下,将时间复杂度优化至 O (n),是 React 性能优化的核心基础。理

#react.js#算法#前端
Javascript 代码混淆编译

在 JavaScript 开发中,代码打包和混淆是保护代码知识产权、减小文件体积的重要手段。混淆工具(如 Terser、UglifyJS、javascript-obfuscator)则通过重命名变量、添加干扰代码等方式增加逆向工程的难度。

#javascript#webpack
React Diff 的局限性与最佳实践

React Diff 算法通过 “类型对比”“key标识”“层级遍历” 三大策略,在保证大多数场景高效的前提下,将时间复杂度优化到 O (n)。其核心是通过启发式规则减少不必要的对比,优先复用可复用节点,仅对差异部分执行 DOM 操作。理解 Diff 算法的工作原理,能帮助开发者写出更符合 React 优化逻辑的代码(如合理设置key、避免不必要的节点类型变化),从而提升应用性能。

#react.js#前端#前端框架
介绍一下 Vue3 的 diff 算法

减少无效比对:通过PatchFlags跳过静态节点和无关动态属性,避免 Vue2 中 “全量扫描” 的开销。优化子节点移动:最长递增子序列算法大幅减少 DOM 节点的移动次数(DOM 操作是性能瓶颈)。针对性处理场景:对文本、数组等不同类型子节点采用专用逻辑,提升特殊场景效率。这些优化使得 Vue3 的diff算法在大型应用中性能提升显著,尤其在动态内容较多的场景下,更新速度比 Vue2 快 50

#javascript#前端#开发语言
Vue/React 采用虚拟 dom 的优势,虚拟 dom 一定比直接操作 dom 更快吗?

DOM 操作本身涉及重排 / 重绘等高额开销,而直接操作容易导致高频次、全量更新;虚拟 DOM 通过 JavaScript 层面的批量计算和差异优化,将零散、冗余的 DOM 操作转化为最少、最必要的批量操作,从而规避了这些开销。虚拟 DOM 的价值并非 “速度”,而是 “用可接受的 JavaScript 计算成本,换取 DOM 操作的稳定性和开发效率”—— 让开发者无需手动优化 DOM 操作,也能

#vue.js#react.js#javascript
聊聊 Vue2 和 Vue3 的双向数据绑定,Model 如何改变 View,View 又是如何改变 Model 的

无论是 Vue2 还是 Vue3,双向数据绑定的核心逻辑都是 “双向触发 + 闭环更新:通过响应式系统监听数据变化,触发视图重新渲染。:通过事件监听捕获用户操作,同步修改数据,再由响应式系统触发视图二次确认。差异主要在于响应式底层实现(vsProxy)和编译时优化,Vue3 凭借Proxy的全面拦截能力和PatchFlags的精准更新,解决了 Vue2 中 “新增属性无响应”“数组索引监听失效”

#vue.js#javascript#前端
介绍下 Vue 中 v-once 和 v-memo

v-oncev-memo(3.2版本之后才支持)v-prev-cloak

#vue.js#前端#javascript
vue3 中 ref 和 reactive 的区别

ref和reactive的核心差异在于数据类型支持和访问方式ref是 “万能容器”,通过.value处理所有类型,适合基本类型和单一值。reactive是 “对象代理”,直接操作属性,适合复杂对象 / 数组。两者底层均依赖响应式系统(Proxy和依赖收集),实际开发中可根据数据类型和使用习惯选择,配合toRefs解决解构响应式丢失问题。

#javascript#开发语言#前端框架
    共 50 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择