You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SolidJS中交换两个Signal的值?

实现Signal值交换的swapSignals函数

要完成两个Signal的值交换,核心是先缓存其中一个Signal的当前值,避免更新过程中丢失原始数据。具体实现如下:

const [a, setA] = createSignal(50) 
const [b, setB] = createSignal(100)

function swapSignals() {
  // 缓存a的当前值
  const tempValue = a();
  // 将a更新为b的当前值
  setA(b());
  // 将b更新为缓存的a的原始值
  setB(tempValue);
}

关键说明

  • Signal的当前值需要通过调用getter函数(比如a())获取,不能直接引用变量a。
  • 必须先缓存其中一个值,若直接执行setA(b())后再执行setB(a()),此时a()已经是更新后的值,无法完成正确交换。

内容的提问来源于stack exchange,提问作者user15023244

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 23:20:29