快速上手
用一个随数量变化的订单金额,了解 Stative 最常用的几个操作。
安装
Stative 自带 TypeScript 类型,可以在浏览器和 Node.js 中使用,不需要 UI 框架。
创建输入与计算
MutableState 保存可更新的输入。计算函数接收普通值,返回你需要的结果:
price 是常量,quantity 是会变化的状态。传给 Total 时,它们都会被解析为当前值。
S([Total, inputs]) 描述这段计算,render 根据描述创建闭包。计算在第一次访问输出时初始化。
订阅变化
接着上面的示例,订阅结果并更新数量:
正在运行的状态会在订阅时提供当前值,之后继续推送更新。不需要自己把变化从一个计算传递到另一个计算。
两个 value 分别表示不同层次:total.value 是可订阅的状态,total.value.value 是它此刻的值。
使用结束后清理
unsubscribe() 停止这次订阅。total.destroy() 释放闭包管理的子计算和内部订阅。外部创建的 quantity 仍由你管理,需要单独销毁。
在应用中,把这段清理放到页面离开、组件卸载或业务功能结束的位置。完整的资源管理方式见生命周期。