Derived Values

派生信号

编辑此页面

派生信号是依赖一个或多个信号来产生值的函数。

这些函数不会立即执行,而是仅在它们所依赖的值发生改变时才被调用。当底层信号改变时,该函数将被再次调用以产生新值。

const double = () => count() * 2;

在上面的示例中,double 函数依赖于 count 信号来生成值。当 count 信号改变时,double 函数将被再次调用以产生新值。

同样,您可以创建依赖于 store 的派生信号,因为 store 幕后也是使用信号。要了解有关 store 如何运作,您可以访问store 章节

const fullName = () => store.firstName + " " + store.lastName;

这些依赖函数从它们访问的信号中获得响应式,确保底层数据的更改在整个应用程序中传播。需要注意的是,这些函数本身并不存储值;相反, 它们可以更新依赖于它们的任何 effect 或组件。如果包含在组件主体中,这些派生信号将在必要时触发更新。

虽然您可以通过这种方式创建派生值,但 Solid 创建了 createMemo。要更深入地了解 memos 如何工作,请查看 memos 章节

报告此页面问题