SuperAPI AI 工具集

signals-preact-dart

编程与开发

查看项目

更新于 10-16 01:14

技能介绍

用途:介绍 Dart 中 preact_signals 包的核心响应式编程原语与实现模式,用于建模响应式业务逻辑。

主要能力:提供五个核心函数。signal(initialValue) 创建可观察的可变信号,通过 .value 读取或订阅更新;.peek() 在不订阅的情况下读取当前值;untracked(fn) 执行回调但不订阅其中读取的信号;computed(fn) 将多个信号组合为惰性、带记忆的只读派生信号;effect(fn) 立即执行回调并订阅其中读取的信号,返回的 dispose 用于清理订阅;batch(fn) 将多次写入合并为一次事务,结尾统一执行依赖计算与副作用一次。另有 readonly 视图保证单向数据流。

使用方式:直接使用上述函数构造状态与派生值。示例:final counter = signal(0); counter.value = 1; 在 effect 内读取会订阅,使用 peek 可避免触发循环;computed 仅在访问时求值并缓存;batch(() { a.value = 1; b.value = 2; }) 合并更新。

限制与注意:依赖在回调执行期间动态追踪;在 computed 自身的执行流中读取该 computed,或在 computed 回调中设置依赖,会造成循环,应避免在 computed getter 内产生副作用。惰性 computed 创建时不求值,在观察者中强制 .peek() 前应通过 isInitialized 或初始化状态检查,避免重入循环崩溃。文档未提供该技能的安装命令、平台与收费信息。