呜啦!日常碎碎念,偶尔掉落优质前端博文推荐、学习资源等
网页:https://tg.cosine.ren
本频道的搜索Bot 来辣 👉 @cosSearchBot
私聊直接发消息就可以搜索啦~
🔖tags
#优质博文 #资源推荐 #博客更新 #碎碎念 #项目更新 #手工 #书摘 #阮一峰的科技周刊 #新动态
图频:Cosine 🎨 Gallery @CosineGallery
猫片: @cosine_cat
联系频道主:@cosine_yu
网页:https://tg.cosine.ren
本频道的搜索Bot 来辣 👉 @cosSearchBot
私聊直接发消息就可以搜索啦~
🔖tags
#优质博文 #资源推荐 #博客更新 #碎碎念 #项目更新 #手工 #书摘 #阮一峰的科技周刊 #新动态
图频:Cosine 🎨 Gallery @CosineGallery
猫片: @cosine_cat
联系频道主:@cosine_yu
#优质博文 #React #TypeScript #前端 #course
How to type React children correctly in TypeScript
以下是方便搜索索引的大纲(AI 生成),请读原文:
author Ohans Emmanuel
How to type React children correctly in TypeScript
AI 摘要:本文深入探讨了在 React 应用中如何正确使用 TypeScript 定义 children prop 的类型。文章首先介绍了 children prop 的基本用法和支持的各种内容类型,并强调了避免手动定义复杂 children 类型的必要性。随后,详细讲解了 ReactNode 超集类型、PropsWithChildren 和 React.ComponentProps 等实用工具类型,以及 ReactElement 和 JSX.Element 等具体类型的使用场景。文章还特别提到了 React 18/19 版本中关于 React.FC 和 children 类型定义的最新变化,建议显式定义 children prop,并展示了如何安全地处理 refs 和构建包装组件(wrapper components)。通过学习这些方法,开发者可以更有效地在 TypeScript 中管理 React 组件的 children prop,提升代码的类型安全性和可维护性。
以下是方便搜索索引的大纲(AI 生成),请读原文:
1. children prop 基础
• JSX 中的 children :解释 children prop 是如何接收并操作 JSX 表达式中标签之间的内容的。
• 支持的 children 类型:列举了 children prop 可以接受的常见内容类型,包括字符串(Strings)、JSX 元素、JavaScript 表达式(JavaScript expressions)和函数(Functions)。
• 避免手动定义复杂 children 类型:指出手动为 children 定义类型容易遗漏,推荐使用官方支持的类型。
2. children prop 的类型定义方法
• ReactNode 超集类型:介绍 ReactNode 是包含 React 所有可渲染值的超集类型,是定义 children 类型时的首选,并详细解释了 ReactNode 的内部定义。
• PropsWithChildren 类型:讲解 PropsWithChildren 如何方便地为现有 props 添加 children prop,避免手动定义。
• React.ComponentProps 类型:说明 ComponentProps 如何提取现有组件的 props 类型,尤其适用于构建可复用组件和 UI 库。
• React.ReactElement 类型:介绍 ReactElement 作为 ReactNode 的子集,在特定场景下如何用于定义 children prop。
• JSX.Element 类型:说明 JSX.Element 如何作为 children prop 的类型,并指出它只代表单个 React 元素且不包含假值。
• 类组件的 Component 类型:演示在类组件中如何使用 React.Component 定义 children prop,并说明 children 默认是可选的。
3. React 18/19 中 children prop 类型定义的最新变化
• 不再推荐使用 React.FC / FunctionComponent :解释了 React.FC 因不再自动包含 children prop 而不再被推荐,并倡导显式定义 children。
• 在 TypeScript 中将组件作为 props 传递:展示了如何在不依赖 React.FC 的情况下,安全地将组件作为 props 传递并保持完整的类型安全。
• React 19 中 Refs 和 forwardRef :比较了 React 18 及更早版本与 React 19 中处理 refs 和 children prop 时的类型定义方式的变化。
4. TypeScript 中的包装组件(Wrapper Components)
• 包装组件在类型安全方面的优势:通过一个待办事项应用示例,展示了包装组件如何通过定义接口来增强类型安全,并在编译时捕获类型错误。
• 处理复杂数据结构:说明 TypeScript 如何确保在组件间传递复杂数据结构时,所有必需属性都存在且类型正确。
author Ohans Emmanuel
#Newsletter #前端 #周刊更新
周刊第 20 期!
这周东西也好多,写死我了~
参加完 FEDAY 的感受是今年的主题特别特别多与 AI 相关的,可以看出 AI 对前端的助益是真的很大,我是比较 AI 乐观主义的,觉得 AI 能帮我省下来很多时间干我想干的事,并且也取代不了前端,但真的需要多进行学习,不断学习。
然后是博客这边,这周将 Fumadocs 里我很喜欢的移动端 header 目录搬到我的博客 astro-koharu 了,我很喜欢~ 然后为图片加上了 LQIP,写了篇博客。
FE Bits Vol.20 | 博客更新与 FEDAY 见闻,Shadcn Create 发布
周刊第 20 期!
这周东西也好多,写死我了~
参加完 FEDAY 的感受是今年的主题特别特别多与 AI 相关的,可以看出 AI 对前端的助益是真的很大,我是比较 AI 乐观主义的,觉得 AI 能帮我省下来很多时间干我想干的事,并且也取代不了前端,但真的需要多进行学习,不断学习。
然后是博客这边,这周将 Fumadocs 里我很喜欢的移动端 header 目录搬到我的博客 astro-koharu 了,我很喜欢~ 然后为图片加上了 LQIP,写了篇博客。
FE Bits Vol.20 | 博客更新与 FEDAY 见闻,Shadcn Create 发布
本期周刊记录了赴长沙参加 FEDAY 2025 的见闻与个人博客更新:移植 Fumadocs 风格的移动端目录、为图片加入 LQIP 并显著提升性能;前端动态包括 shadcn 3.6 推出可定制组件库、Storybook v7+ 构建或泄露 .env 的安全公告、TanStack Start 增加 Vue 支持、Chrome DevTools 144 支持单请求限速;技巧分享用 SVG vectorEffect 修复虚线缩放问题;精选多篇 React/CSS/WebGPU/GSAP 优质内容与 CodePen 作品。
#优质博文 #安全 #Storybook #前端
Security advisory
又一个 CVE-2025-68429 7.3/10, Storybook v7+ 版本构建时可能会不小心把 .env 打包进去。
Security advisory
又一个 CVE-2025-68429 7.3/10, Storybook v7+ 版本构建时可能会不小心把 .env 打包进去。
AI 摘要:Storybook 团队发布安全公告,披露 Storybook 在特定条件下,可能将 .env 文件中的敏感环境变量意外打包到构建产物中,导致这些秘密信息在发布到网络后泄露。受影响的项目需满足使用 Storybook 7.0.0 及以上版本、在构建时存在包含敏感信息的 .env 文件,并使用特定 process.env 代码模式。官方建议所有受影响用户立即审计并轮换密钥,并将 Storybook 升级至已打补丁的版本,同时调整环境变量的引用方式。部分流行的 Storybook 插件可能触发此漏洞,但漏洞本身存在于 Storybook 核心。
#tools #前端 #CSS #插件
Raycast 插件:https://www.raycast.com/j3lte/css-tricks
介绍文章:Search CSS-Tricks Raycast Extension
Raycast 插件:https://www.raycast.com/j3lte/css-tricks
介绍文章:Search CSS-Tricks Raycast Extension
一个 Raycast 扩展,可以直接从本地计算机搜索 CSS-Tricks 文章。该扩展使用 WordPress REST API 获取实时搜索结果,提供了一种快速查找和复制文章 URL 的方法。单击结果会显示摘要并在浏览器中打开文章。
#优质博文 #CSS #React #RSC #前端 #tools
工具:https://rscexplorer.dev/
开源在:https://github.com/gaearon/rscexplorer
文章:Introducing RSC Explorer
author Dan Abramov
工具:https://rscexplorer.dev/
开源在:https://github.com/gaearon/rscexplorer
文章:Introducing RSC Explorer
AI 摘要:本文介绍了 Dan Abramov 发布的新工具 RSC Explorer,旨在帮助开发者直观理解 React Server Components (RSC) 的底层工作原理。由于最近 React Server Components 披露了一个严重的安全漏洞,RSC 协议引起了广泛关注。RSC Explorer 是一个开源的单页应用,通过模拟 RSC 协议的读写过程,展示了数据流、代码传输、流式渲染、服务器操作以及无框架路由刷新等核心概念,让开发者能够“所见即所得”地学习 RSC。
author Dan Abramov
#优质博文 #前端 #CSS #新特性
State, Logic, And Native Power: CSS Wrapped 2025 — Smashing Magazine
author Brecht De Ruyte
State, Logic, And Native Power: CSS Wrapped 2025 — Smashing Magazine
AI 摘要:本文深入解读了 Chrome 团队发布的“CSS Wrapped 2025”年度总结报告,重点介绍了 CSS 在逻辑处理、状态管理和复杂交互方面的新进展。文章详细阐述了可定制的 <select> 元素、纯 CSS 实现的轮播图(Carousel)以及滚动状态查询等功能,并探讨了 CSS 中引入 if() 语句、@function 函数和 sibling-index()/sibling-count() 等逻辑处理工具,这些新特性将大大提升 CSS 的开发体验和应用能力。作者还展望了锚定容器查询(Anchored Container Queries)、嵌套视图过渡组(Nested View Transition Groups)以及文本框修剪(Text Box Trim)等未来特性,强调 CSS 正从单纯的样式语言向构建动态、强大应用的原生工具集转变,开启了一个激动人心的前端新时代。
author Brecht De Ruyte
#优质博文 #前端 #WebGPU #WebGL
用 WebGPU 来造一场雪 | Cyandev
author Cyandev
用 WebGPU 来造一场雪 | Cyandev
AI 摘要:本文详细介绍了作者如何利用 WebGPU 为个人博客实现下雪背景效果。文章从 WebGPU 的基本概念、与 Metal 等现代图形 API 的对比入手,逐步深入到 Metal 的基础知识,再结合 WebGPU 的实际应用,例如 Bind Group 和 Compute Shader,展示了如何高效地绘制雪花粒子并计算其运动。为了进一步提升性能,作者还分享了如何将渲染逻辑转移到 Web Worker 中的 OffscreenCanvas 进行,确保动画流畅不卡顿。文末展望了 WebGPU 在未来前端动画和机器学习领域的应用潜力。
author Cyandev
#前端 #字体
https://fixupx.com/i/status/2002408656164298917
From smartwatches to VR, Google Sans Flex intelligently adapts to any display. ⌚️✨
Our typeface gives you granular control over weight, width, and optical size. Plus, it’s now open-source! Ready to build clearer, more beautiful experiences?
Read more → bit.ly/4s1zYgW
https://fixupx.com/i/status/2002408656164298917