- 博客(468)
- 收藏
- 关注
原创 常用Hook: useState/useEffect/useRef/useMemo/useCallback/useContext/useReducer 用法+场景
Hook作用典型场景useState状态管理表单、开关、计数useEffect副作用请求接口、监听useRefDOM/缓存变量input聚焦、timeruseMemo缓存值大计算缓存函数子组件优化useContext跨组件通信用户、主题、权限useReducer复杂状态表单、Redux思想。
2026-05-13 10:56:26
171
原创 useLayoutEffect 和 useEffect 区别、使用场景
useEffect和都用于处理副作用。useEffect在页面绘制后异步执行,不阻塞渲染,适合请求接口、订阅事件等普通副作用。在 DOM 更新后、浏览器绘制前同步执行,会阻塞页面渲染,适合 DOM 测量、同步修改 DOM、防止闪烁等场景。开发中应优先使用useEffect,只有需要同步操作 DOM 时才使用。
2026-05-12 16:43:22
301
原创 useEffect 完整理解:依赖数组、副作用清理、模拟生命周期
useEffect = 渲染后执行副作用控制副作用什么时候重新同步清理旧副作用。
2026-05-11 16:01:32
361
原创 React18 函数组件执行顺序、严格模式下重复执行问题
答案:React18 在开发环境下的 StrictMode 中,会故意对组件进行 mount → unmount → remount,用于检测副作用与不安全代码,为 Concurrent Rendering 做准备。
2026-05-10 10:02:04
274
原创 react16-react19类组件完整生命周期(挂载/更新/卸载)
React 类组件生命周期在 React16 之后变化非常大:React15:旧生命周期React16:引入 Fiber 架构React16.3:新增安全生命周期React17:基本延续 React16React18:并发特性开始影响生命周期调用React19:类组件仍支持,但官方主推函数组件 Hooks下面我按:生命周期总览挂载阶段更新阶段卸载阶段错误处理阶段React16~19变化对比执行顺序图面试高频点完整讲透。
2026-05-09 12:02:11
223
原创 react声明式编程 vs 命令式编程
优点:可读性高逻辑清晰易维护适合复杂 UI缺点:学习成本(状态、hooks)性能需要理解优化(memo、useCallback)
2026-05-06 08:48:34
216
原创 react函数组件、类组件、纯组件、受控/非受控组件
对比函数组件类组件写法简洁冗长状态Hooksthis.state生命周期useEffect生命周期方法推荐✅ 主流❌ 已逐渐淘汰函数组件 + Hooks类型作用类组件性能优化React.memo函数组件性能优化对比受控组件非受控组件数据来源DOM可控性高低推荐✅⚠️ 少用。
2026-05-05 09:30:24
212
原创 reeact虚拟DOM、Diff算法原理、key的作用与为什么不能用index
你可以这样说:React 通过虚拟 DOM 来减少真实 DOM 操作,在状态更新时生成新的虚拟 DOM,然后通过 Diff 算法进行对比。Diff 采用同层比较策略,并通过 key 来标识节点,提高复用效率。key 的作用是帮助 React 识别节点是否可复用,如果使用 index 作为 key,在列表发生插入、删除、排序时会导致节点错位,可能引发状态错乱,因此不推荐使用。
2026-05-04 10:24:16
327
原创 Webpack打包性能优化方面的经验
不要在每个文件都执行不必要的 loader,例如 style-loader -> postcss-loader -> sass-loader 过多处理。Webpack 5 默认性能优化很多,开启 persistent caching。分离 CSS,避免 style-loader 热更新影响开发构建速度。避免对整个 node_modules 执行 babel-loader。):包括初次构建、增量构建(开发模式 HMR)。减少 rebuild 范围,避免每次全量构建。):影响生产环境首屏加载速度。
2026-05-03 10:45:40
421
原创 对typescript开发框架的理解?
TypeScript开发框架 = “类型安全 + 模块化 + 高效率开发工具链”,本质是用类型约束让框架更可靠,让大型项目更可维护。前端 → React/Vue/Angular后端 → NestJS / TS+Express全栈 → Next.js/Nuxt3 + TS。
2026-05-02 09:42:52
406
原创 前端在页面渲染优化和组件优化经验?
在项目中,我通过 SSR 与懒加载优化首屏渲染,利用虚拟列表减少大数据量表格渲染压力;同时对 React/Vue 组件使用 memo 化和 useMemo 提升局部渲染性能,并结合节流、防抖优化滚动和输入事件,整体页面性能提升了约 30%,用户感知加载时间缩短明显。
2026-05-01 11:21:46
238
原创 react性能优化比较好的办法有哪些?
你现在的“性能平台”项目,建议优先做这几个:👉 优先级排序(非常重要):✅ 虚拟列表(提升最大)✅ 数据缓存(React Query)✅ Echarts 优化✅ 防抖请求✅ 组件拆分👉80% 的性能问题 = 不必要的 render而不是 JS 太慢。
2026-04-30 11:39:06
296
原创 Polyline 组件如何绘制渐变区域?
需求推荐方案简单渐变区域Polygon + 伪渐变高质量渐变数据图表ECharts快速hack多Polyline叠加。
2026-04-26 17:08:28
97
原创 vite+rust生态链工具链
一、核心组合:Vite + Rust 的价值在哪Vite:前端开发服务器 + 构建工具(极快的 HMR)Rust:高性能、低内存、安全👉 结合后带来的优势:构建速度:比传统 Webpack 快一个量级工具链性能:Rust 写 CLI / 编译器 / 插件 → 极致快可替代 Node 重计算任务。
2026-04-25 18:44:43
223
原创 Python+LangGraph学习路线及发展前景
你这个方向选得没问题,但先说句实话:如果只学 LangGraph 而没有打好 AI / 后端基础,会很难落地。。
2026-04-20 19:45:17
308
原创 AI Agent / 智能体发展对普通发展及程序员未来发展前景
未来你如果继续只做:页面开发接口对接UI实现那确实危险,因为:👉 这些正在被AI“模块化”
2026-04-19 11:51:05
405
原创 前端开发桌面端都有哪些框架?
框架技术栈体积性能学习成本Electron❌ 大中⭐ 最低TauriJS + Rust✅ 小✅ 高中FlutterDart中✅ 高❌ 需学习WailsJS + Go小高中JS极小中低。
2026-04-16 11:16:54
253
原创 vite8相对于vite7否更新哪些东西?
维度Vite 7Vite 8架构Rolldown(统一)性能快🚀 极快(10x级)一致性dev/build 不一致✅ 完全一致TS 路径插件内置装饰器手动内置CSSPostCSS一般更强Node 要求16/1820+浏览器支持较旧更现代👉Vite 8 本质不是“小升级”,而是“底层重写 + 工具链统一”可以理解为:从「拼装工具」→「一体化构建平台」
2026-04-15 11:44:05
407
原创 开发RN项目时,如何调试iOS真机、Android真机?常见调试问题排查?
设备连接(adb / Xcode)Metro 连接(8081 端口)调试工具(Flipper / Chrome)
2026-04-14 10:48:13
515
原创 RN中如何处理推送通知(本地推送、远程推送),点击推送跳转指定页面?
App 启动 → 请求权限获取 FCM token → 给后端后端发送 push(带 data)App 收到 → 用 Notifee 展示用户点击 → 解析 datanavigationRef 跳转页面。
2026-04-13 10:53:24
208
原创 Android和iOS原生开发的基础知识对RN开发的重要性,RN打包发布时原生端需要做哪些配置?
👉RN开发的真实门槛 = 前端能力 + 原生基础如果你只会JS:✅ 能开发❌ 很难解决问题如果你懂原生:✅ 能调试、优化、扩展✅ 能独立上线。
2026-04-10 16:28:22
306
原创 如何避免RN中的内存泄漏?常见的内存泄漏场景(定时器、事件监听、异步请求未取消)及解决方案?
👉 组件卸载后,定时器还在执行⚠️ 延伸(容易忽略) 二、事件监听未移除❌ 问题场景👉 handler 持续存在,组件销毁后仍触发⚠️ 常见泄漏来源 👉 组件已经卸载,但请求返回后仍然 ✅ 方案二:AbortController(更优雅)⚠️ axios 方案四、闭包导致的内存泄漏(高级但常见)❌ 问题函数持有旧 state 引用,导致内存无法释放✅ 解决方案👉 使用 五、全局
2026-04-09 16:03:20
39
原创 如何优化RN页面的首屏加载速度?
最值得你先做的👇:1️⃣ Hermes(立竿见影)2️⃣ 拆包 + 减 bundle3️⃣ FlatList + 限制首屏渲染4️⃣ 数据缓存5️⃣ InteractionManager 延迟任务。
2026-04-07 09:21:45
214
原创 React Native项目常见的性能瓶颈有哪些?(JS线程阻塞、UI渲染卡顿、内存泄漏、包体积过大)
如果面试官问,你可以这样答:JS线程阻塞:大量计算或频繁更新导致页面卡顿UI渲染问题:组件过多或列表未优化导致掉帧内存泄漏:定时器、监听、闭包未释放Bridge通信瓶颈:JS与Native频繁交互包体积过大:影响启动和下载启动性能问题:初始化逻辑过重👉 对应优化手段包括:列表优化(FlatList)渲染优化(memo / hooks)动画走 Native(Reanimated)使用 Hermes减少 Bridge 通信做好资源释放。
2026-04-06 11:46:50
371
原创 vite 8 发布,双引擎时代结束
Vite 8 本质是在做一件事:👉从“拼装工具”进化为“统一编译平台”“双引擎时代结束”其实就是:✅ Rolldown(统一一切)
2026-04-05 14:24:04
276
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅