探索前端技术的无尽旅程从这里开始!每周精选前端领域的热门文章。
文章推荐:React 19 Beta 发布 NPM 了!为大家带来最新版本的简要介绍;Qwik 与 NextJS 多维度对比;Chrome 崩溃了,我是如何一步步找到崩溃原因的;仅用 CSS,如何使用鼠标hover,3D礼物盒打开效果
工具推荐:基于 LaTeX 的简历制作工具 --PPResume,轻松创建专业且视觉吸引力强的简历;通过有趣的视觉方式展示你一生的重要数据统计 --life-stats;利用 Chrome 的 DevTool 分析 NodeJS 性能
行业新闻:如果你还在使低版本 JQuery,那可能有潜在的安全风险,JQuery 与 OpenJS 共同推出,JQuery 升级指南。如果觉得有收获,欢迎大家点赞👍🏻订阅
文章推荐
React 19 Beta
React 19 Beta 现已在 npm 上发布!以下是 react 新功能简单总结:
- 引入的一些新hooks特别关注于改进客户端与服务器之间的数据交互和状态管理:
useFormStatus:这个hook用于跟踪表单的提交状态。当表单数据正在被处理时(例如,正在发送到服务器),这个hook可以提供实时的状态更新,帮助开发者实现更好的用户交互反馈。useActionState:与useFormStatus类似,useActionState提供了一种方式来管理和跟踪通过Actions提交的数据的状态。这个hook可以用来获取异步操作(如服务器上的数据处理)的当前状态和结果,使开发者能够根据这些状态来调整UI反馈。useOptimistic:这个hook用于实现乐观更新逻辑。在数据被最终确认之前,它允许应用暂时显示预期的最终状态。如果后续操作失败或有错误发生,useOptimistic会帮助自动回滚到操作前的状态,从而确保数据的一致性和用户界面的准确反映。
- 新的API
use:这是一个用于在渲染过程中读取资源的新API。它允许组件在等待异步数据如Promise解析时暂停渲染。React 将在数据准备好后继续渲染组件。 - Server Components 和 Server Actions:React 19稳定版包含了之前Canary频道中的Server Components特性。这些组件可以在构建时或每次请求时在服务器上运行,优化了客户端加载性能。Server Actions则允许客户端组件调用在服务器上执行的异步函数。
- 改进的
ref作为prop的用法:React 19开始,你可以将ref直接作为函数组件的prop使用,这消除了forwardRef的需求。此外,React现在支持在ref回调中返回清理函数,用于在组件卸载时执行清理操作。 - Hydration错误的改进报告:React 19改进了hydration错误的处理,当服务器渲染的HTML与客户端渲染不匹配时,React将提供详细的差异报告,帮助开发者快速定位问题。
- 使用
<Context>作为provider:现在可以使用<Context>直接作为provider,而不是<Context.Provider>,简化了上下文的使用。 - useDeferredValue新增initialValue参数:这允许开发者在组件的首次渲染时提供一个初始值,这对于性能优化尤为重要。
- 移除和弃用的功能:包括移除了一些老旧或较少使用的API如
ReactDOM.findDOMNode、createFactory,以及对react-test-renderer的弃用,推荐使用更现代的测试库如React Testing Library。
👉🏻原文链接: React 19 Beta
Qwik vs. Next.js:你的下一个Web项目应该选哪个框架?
文章对 Qwik和Next.js在多个维度进行比较,为什么 Qwik 会作为作者的首选框架。Qwik通过其优化的服务器端渲染和状态管理机制(如使用signals),提供了更快的启动时间和更高的性能,特别是在减少hydration需求和改善加载时间方面表现出色。此外,Qwik通过支持如qwikify$函数,允许在Qwik应用中整合和延迟加载React组件,虽然不是基于React,但能有效利用React生态系统。相对而言,Next.js作为基于React的框架,与React生态系统的整合更为天然和深入,特别适合React开发者。它在缓存控制和灵活的页面加载策略(如支持SSR和CSR)方面具有优势。在开发体验方面,Qwik利用Vite作为开发服务器,提供快速的响应和热模块替换功能,而Next.js虽然也提供快速构建,但在某些开发方面Qwik可能更有优势。
👉🏻原文链接:Qwik vs. Next.js:你的下一个Web项目应该选哪个框架?
如何找到Chrome的Crash原因?
作者在分析Chrome崩溃的问题时采取了一系列有条理的步骤。首先,通过修正预测的内存泄露尝试解决问题。当问题未得到解决时,通过配置和使用Chrome的内建转储工具生成这些文件。接着,作者利用Breakpad工具对这些崩溃转储文件进行解码和分析,这一过程需要编译Breakpad工具,并下载与Chrome版本相对应的符号文件。
👉🏻原文链接: 如何找到Chrome的Crash原因?
在 CSS 中滑动 3D 图像框架
这篇文章介绍了如何使用CSS技术在不添加HTML元素的情况下,为图片创建滑动3D效果。作者Temani Afif通过巧妙利用CSS属性,如box-shadow、clip-path和object-fit等,制作了一个看似可以滑动的图片框架,这种效果使得图片像是在一个盒子中被逐渐揭示出来。此外,文章还探讨了如何在图片上添加边框,调整padding,以及如何通过增加深度和使用渐变效果增强3D视觉效果。
👉🏻原文链接: 在 CSS 中滑动 3D 图像框架
工具推荐
简历制作工具--PPResume
PPResume是一个基于LaTeX的简历制作工具,旨在帮助用户快速创建专业且视觉吸引力强的简历。该平台提供多种精心设计的模板,并允许高度自定义排版和设计元素,以确保简历的独特性和高质量。简历以PDF格式输出,以保持在所有平台上的格式一致性。目前处于测试阶段,PPResume提供免费服务,但有创建简历的数量限制。
👉🏻工具地址: 简历制作工具--ppresume
life-stats
通过有趣的视觉方式展示你一生的重要数据统计。用户只需输入自己的出生日期,该网站会计算并展示从出生至今的各类统计数据,如呼吸次数、心跳次数、睡眠时间等。
👉🏻工具地址:life-stats
NodeJS 性能分析工具
利用 chrome inspect 工具,打开Node 分析工具,支持断言,与性能分析。
👉🏻工具地址:NodeJS 性能分析工具
行业新闻
升级 jQuery:努力构建健康的网络
jQuery 对 Web 的影响将一直存在。自 2006 年首次推出以来,jQuery 几乎立即成为 Web 开发人员的基本工具。它简化了 JavaScript 编程,使操作 HTML 文档、处理事件、执行动画等变得更加容易。从那时起,它在 Web 标准和浏览器功能的演变中发挥并继续发挥着重要作用。但随着现代 JavaScript 框架的兴起,越来越少的开发人员可能会选择在新项目中使用 jQuery,但全球范围内的使用率仍然非常高。根据 IDC 进行的一项调查结果分析,OpenJS 基金会估计 90%的网站使用 jQuery。其中约三分之一使用的是过时版本。jQuery 团队和 OpenJS 基金会正在努力解决这个问题,通过该指南,引导您完成升级 jQuery 的过程。