如何获取 solidjs 信号的先前值?
How to get the previous value for a solidjs signal?
我想得到一个信号的前一个值怎么办?
const [route, setRoute] = createSignal(1)
createEffect(() => {
console.log('route previous value is', route(0))
console.log('route updated value is', route())
})
您提供给 createEffect
的回调函数可以采用等于效果函数上次调用的返回值的参数。因此,您可以执行以下操作:
const [route, setRoute] = createSignal(1);
createEffect((prev) => {
const updated = route();
console.log('route previous value is', prev);
console.log('route updated value is', updated);
return updated;
}, route());
请注意,您传递给 createEffect
的第二个参数是 prev
的初始值。
我想得到一个信号的前一个值怎么办?
const [route, setRoute] = createSignal(1)
createEffect(() => {
console.log('route previous value is', route(0))
console.log('route updated value is', route())
})
您提供给 createEffect
的回调函数可以采用等于效果函数上次调用的返回值的参数。因此,您可以执行以下操作:
const [route, setRoute] = createSignal(1);
createEffect((prev) => {
const updated = route();
console.log('route previous value is', prev);
console.log('route updated value is', updated);
return updated;
}, route());
请注意,您传递给 createEffect
的第二个参数是 prev
的初始值。