Secondary Primitives

createReaction

编辑此页面
import { createReaction } from "solid-js"
function createReaction(onInvalidate: () => void): (fn: () => void) => void

有时候将追踪和重新执行分开是很有用的。 这个原语注册了一个副作用,当由返回的追踪函数包装的表达式首次收到变更通知时,该副作用会被执行。

const [s, set] = createSignal("start")
const track = createReaction(() => console.log("something"))
// 下次 s 变化时运行这个 reaction
track(() => s())
set("end") // "something"
set("final") // 无操作,因为 reaction 只在第一次更新时运行,需要再次调用 track
报告此页面问题