惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
G
Google Developers Blog
人人都是产品经理
人人都是产品经理
U
Unit 42
爱范儿
爱范儿
Hugging Face - Blog
Hugging Face - Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
WordPress大学
WordPress大学
B
Blog RSS Feed
The Cloudflare Blog
D
Docker
A
About on SuperTechFans
IT之家
IT之家
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Y
Y Combinator Blog
月光博客
月光博客
云风的 BLOG
云风的 BLOG
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
MongoDB | Blog
MongoDB | Blog
Google DeepMind News
Google DeepMind News
The GitHub Blog
The GitHub Blog
博客园_首页
Stack Overflow Blog
Stack Overflow Blog

前端开发

前端设计的困惑 - V2EX 前端联调不用再求后端:我做了个 Chrome DevTools 网络拦截工具 SuperNetDev - V2EX 不知道有没有人想尝试一下没有 Tailwind CSS 的 shadcn 组件样式注册表 - V2EX SolidJS 2.0 RC 了,简直艺术品 - V2EX 万能的 AI,有什么实现高保真 UI 的途径吗? taro 还有人用吗? 是不是要黄了,官网证书到期了都没人管,而且物料市场都打不开了 Better Auth 也被 Vercel 收购了 “前端大神在大厂里写广告”是真的吗? V2EX › 登录 前端转 ai-agent 有什么好的课程么 angular21 好用吗? 全 AI 开发安卓 ios 双端行业内 BOSS 直聘 APP,求技术方案 前端如何学习 AI?我发现所有文章都是教你怎么写个 agent 或者讲 agent 实现原理什么的,就没有能在日常工作中 提效的吗?比如 skill 怎么搞。怎么在工作中使用各种技巧 3D 全域高清一张图制作,有没有懂行的高手会啊!需求放在下面了 开源了一个 Notion/飞书 风格的编辑器 大家用 uniappx 开发的时候,都选择什么 ui 框架呢 探索了一下 Agent Native 的 UI 应该怎么做,附带项目链接 开发抖音 pc 网页的 100%都是些草包。 Solid 作者重新審視 React 做對了的兩件事,以及將會在 Solid 2.0 採用 有大佬认识这是哪个图标库吗? 请教关于不发版动态更新 APP 的 LOGO 方案 Next.js 多语言路由性能优化:从 5.8s LCP 到极致体验 关于如何正确的在 React 或 Vue 中使用链接 逆向专题:对于 web 端采用 wasm+protobuf 的架构,还有逆向的可能性吗 AI 时代你们是怎么开发前端页面的? 有大佬在 qiankun 中结合联邦模块的吗 Tailwind CSS 在本周裁员 75% 原因是受 AI 冲击 有没有前端组件实现变量是个标签,其他字是黑色文字的组件库 1.5 小时用 ai 写了个 web 恐怖小游戏 30USD 月度开发预算,前端 er 都在用什么 AI 编程工具?
做 WYSIWYG Markdown 编辑器时,我为什么没继续用 zustand,...
jaydenWang · 2025-12-15 · via 前端开发

我在做一个 WYSIWYG Markdown 编辑器( domd ),体积大约 20KB 。这是一个纯数据驱动的编辑器。

Demo: WYSIWYG Markdown

在这个编辑器里,状态管理是核心问题。我把 domd 的状态管理单独抽出来, 封装成了一个库:Zenith 。

Github: Zenith

Zenith 的思路并不复杂: 把派生状态、缓存和依赖关系,明确地放在 store 内部, 而不是分散在组件和各种 selector 里。

这样带来的结果是:

  • 派生状态可以被稳定缓存
  • 组件拿到的是稳定引用
  • 性能表现更可预测,不需要反复“调”

另一个比较关键的点是 undo / redo 。 Zenith 是基于 Immer patch 的, 不依赖整棵 state 的快照。 在大数据量、频繁编辑的场景下,这一点差异很明显。

Zenith 不是通用型状态库,也不追求简单。 如果你在做编辑器、画布或类似的复杂前端, 可能会对这种设计方式有兴趣。