Now vibe coding, so learning hammer FE ?
《Microcharts:一句话里就能塞下的React微图表库》

标签:#前端 #React #数据可视化 #图表库 #性能优化 #无障碍 #ServerComponents

总结:
Microcharts是一个专为React设计的微图表库,提供106种图表类型,单个图表gzip后仅2.18-7KB(中位数5.25KB),零依赖。它主打"词级图表"理念——图表小到可以嵌入句子、表格单元格和KPI卡片中,无需坐标轴和图例,由上下文文字承载含义。支持服务端组件静态渲染(0KB客户端JS)、自动生成无障碍alt文本、单色系主题系统,并能在错误数据下优雅降级。

文章要点:
1. 小到离谱:中位数图表仅5.25KB gzip,最大7KB,零运行时依赖,React只是peer dependency,比通用图表库(如Recharts 106KB共享内核)轻了整整101KB
2. 一句话装得下:图表设计为"词级尺寸",可以直接嵌入正文、表格单元格、KPI卡片甚至打印报告,读者不用离开句子就能理解数字
3. 106种图表统一API:传一个data数组就搞定,domain、color、title在每个图表里含义一致,TypeScript类型完备,编辑器能自动补全
4. 静态渲染零负担:在Server Component里渲染时完全不产生客户端JS,hydrate成本为0,对性能敏感场景极其友好
5. 坏数据也能优雅处理:NaN、空数组、单一数值都不会报错,会自动渲染成点、空白或水平线,不用写try/catch兜底
6. 无障碍开箱即用:自动生成alt文本(如"趋势上升27%,范围128到163"),每个图表一个tab焦点,支持方向键浏览,色盲安全配色和RTL都内置
7. 单色系主题系统:给一个accent主色就能自动推导出完整配色(包括正负色、分类色、暗色模式),整个页面一键换肤

URL:https://microcharts.dev/ microcharts — Word-sized charts for React.
《TanStack Router 与 Query 的最佳实践》

标签:#前端 #React #TanStackQuery #TanStackRouter #数据获取 #SSR

总结:
本文详解了 TanStack Router 与 TanStack Query 的集成方案,核心思路是将 Router 的 Loader 视为"预取触发器",让 Query 接管全局缓存。通过关闭 Router 内置缓存、在 Loader 中预取 Query、组件中使用 useSuspenseQuery 或 useQuery 的组合策略,实现数据尽早获取、避免请求瀑布,同时兼容 SSR 流式渲染。作者强调始终使用 Query Hooks 而非 useLoaderData 获取数据,以维持自动重取、缓存失效和垃圾回收的正常运作。

文章要点:
1. Router 自带缓存仅限单路由,Query 缓存全局可跨路由共享,更适合多路由共用数据场景
2. 在 Loader 中预取 Query 能让请求在组件渲染前甚至 JS 加载前就开始,配合 prefetch:'intent' 还能实现悬停预加载
3. 关闭 Router 缓存(defaultPreloadStaleTime: 0)避免与 Query 缓存冲突,让 Query 独掌缓存策略
4. 推荐用 useSuspenseQuery 配合 Router 的默认 Error/Pending 边界,组件只需专注"阳光路径"
5. Loader 中不 await 更灵活:useSuspenseQuery 实现阻塞加载,useQuery 实现延迟加载,由组件自主决定
6. SSR 场景下 useSuspenseQuery 更友好,支持流式渐进渲染;useQuery 需在 Loader 中 await 否则服务端无 markup
7. 切勿用 useLoaderData 替代 Query Hooks,否则会导致自动重取、失效刷新和垃圾回收全部失效
8. 将 Loader 视为"事件处理器"——只负责触发预取、不返回数据,是渐进优化性能的好心智模型

URL:https://tkdodo.eu/blog/tan-stack-router-and-query TanStack Router and Query
《Datatype:用字体把文字变成图表的魔法》

标签:#前端 #OpenType #可变字体 #数据可视化 #字体设计

总结:

Datatype 是一款开源可变字体,利用 OpenType 连字替换技术,将纯文本表达式(如 {b:30,70,50,90}`)实时渲染为条形图、折线图和饼图,无需任何 JavaScript 或图片资源。它通过 CSS 的 `font-variation-settings 控制字宽和字重,WOFF2 仅 73KB,兼容所有现代浏览器,为网页和桌面应用提供了一种零依赖、高性能的轻量级数据可视化方案。

文章要点:

- **纯字体驱动,零 JS 依赖**:利用 OpenType 的 calt`(上下文替换)和 `liga`(标准连字)特性,把 {b:1,3,7}` 这类文本直接变成条形图,不需要加载任何图表库或图片
- **三种图表,一句话搞定**:支持条形图 {b:...}`、折线图 {l:...} 和饼图 {p:...}`,每种最多支持 20 个数据点,数值范围 0–100,语法简单得像在聊天
- **可变字体,随意调节**:通过 `wdth`(字宽 50–150)和 `wght`(字重 100–900)两个轴,可以像调音量一样控制图表的间距和线条粗细,适配不同排版场景
- **轻到不可思议**:WOFF2 格式仅 73KB,TTF 4MB,覆盖 Google Fonts Latin Core 字符集,对网页性能几乎零负担
- **开箱即用,跨平台友好**:Web 端一行 `@font-face` 即可;桌面端安装 TTF 后,在 Adobe 等支持 OpenType 连字的软件里直接粘贴文本就能出图
- **开源可定制**:基于 Python + fontTools 构建,提供完整的构建脚本和开发服务器,方便开发者二次修改或扩展新的图表类型

文章URL:https://github.com/franktisellano/datatype GitHub - franktisellano/datatype: Datatype is a variable font that turns text into charts.
 
 
Back to Top