前端开发
在 React 或 vanilla JavaScript…
适用于 React/vanilla JavaScript 项目,希望用 proxy 管理应用状态、按需订阅并优化渲染的场景。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
在 React 或 vanilla Ja特定
解决思路
- 使用 proxy 创建可追踪变更的响应式状态对象(core-proxy,references/core-proxy.md)
- 在 React 中使用 useSnapshot 以渲染优化方式访问状态(core-use-snapshot,references/core-use-snapshot.md)
- 使用 snapshot 创建不可变快照,用于比较和 Suspense(core-snapshot,references/core-snapshot.md)
- 使用 subscribe 从任意位置订阅状态变化(core-subscribe,references/core-subscribe.md)
- 使用 proxyMap 为 Map 数据结构创建可观察的类 Map 代理(utils-proxy-map,references/utils-proxy-map.md)
- 使用 proxySet 为 Set 数据结构创建可观察的类 Set 代理(utils-proxy-set,references/utils-proxy-set.md)
- 使用 subscribeKey 订阅特定属性的变化(utils-subscribe-key,references/utils-subscribe-key.md)
- 集成 Redux DevTools Extension(utils-devtools,references/utils-devtools.md)
- 使用 ref 为特殊对象创建未代理引用(utils-ref,references/utils-ref.md)
- 使用 useRef 隔离组件状态(guides-component-state,references/guides-component-state.md)
- 使用 getter 和 setter 创建计算属性(guides-computed-properties,references/guides-computed-properties.md)
- 结合 Promise 和 React Suspense 处理异步(guides-async,references/guides-async.md)
- 用 actions 组织修改状态的逻辑(best-practices-actions,references/best-practices-actions.md)
- 将状态持久化到 localStorage 或其他存储(best-practices-persistence,references/best-practices-persistence.md)
- 拆分并组合状态以便组织(best-practices-state-composition,references/best-practices-state-composition.md)
适用边界 · 注意事项
- 项目不使用 JavaScript/TypeScript,或无法引入 Valtio 依赖时
- 已深度使用其他状态管理方案且没有迁移或替换需求时
- 需要严格不可变、集中式状态机或复杂跨框架状态治理时