Reatom声明式状态管理器

联合创作 · 2023-09-23 15:44

Reatom 是一个声明式状态管理器,专为简单和复杂的应用程序而设计。

特性:

  • 简单的 abstraction 和友好的 DX:最小的模板和最小的 API
  • 性能:部分状态更改的性能更新
  • reliableatomicity guaranties
  • 静态类型:最佳类型推断
  • 小尺寸2 KB gzip
  • 模块化:可重用实例(SSR)
  • lazy:开箱即用的代码拆分解决方案
  • framework-agnostic:独立和自给自足
  • 测试:简单的模拟
  • 调试:不可变数据和内置调试器
  • IE11 支持Can I Use
  • synchronous glitch free
  • 与其他库(Observable、redux 生态系统等)的简单集成
  • 容易写出好的代码

Reatom 融合了 MobX 和 Redux 的所有优点。它通过分离的 atoms 来处理不可变的数据,并使用单一的全局存储,这使得数据流可预测,但 granular 且高效。

简短示例:

import { createAtom } from '@reatom/core'

export const amountAtom = createAtom(
  { clear: () => null, add: (value: number) => value },
  ({ onAction, schedule }, state = 0) => {
    onAction('clear', () => (state = 0))
    onAction('add', (value) => (state = state + value))
    schedule(() => render(`Amount is ${state}`))
    return state
  },
)
amountAtom.getState()
// -> 0
amountAtom.add.dispatch(7)
amountAtom.getState()
// -> 7
浏览 8
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报