百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
返回工具页/返回 Issues 列表
#3494·solid

来自 #3473 的剩余出版物和观察者释放回归

作者: GabbeV创建于 2026年9月16日更新于 2026年9月16日

AI协助对[审查对#3473的反馈]采取后续行动(https://GitHub.com/solidjs/solid/pull/3473#issuecomment-568733556),追踪合并后留下的遗物并随后进行修复.

后在59c4192a**重新检查,包括#3479和#3488. 四个独立重复的回归仍然存在:

  • ** 毒性效应输入:** 效应在[1、1、1]'之前收到[1、0、1]'(原评论A)。
  • ** 分明可见的出处:** 伯爵公布1',而副本显示0',其请求尚待处理(原评论C)。
  • ** 失去能见度更新:** 连成一体的能见度写出每个请求解决后可见的内容. 这是与现在固定的原评论B不同的序列.
  • ** 延迟释放:** 在删除最后的阅读器并读取`latest'之后,普通的写作继续等待无人观察的请求。 这最终完成;这是一个不必要的等待,而不是永久地失去状态.

下面的重写涵盖了这四种行为. 把它们在这里分组,可以带来公关反馈;它不承担一个根源。 同值更新组合变化单独列为合同问题.

□ 代表性的游乐场:一个分明的衍生物可见

使用当前下个构建将此 TSX 粘贴为 s.olid.uk 。 等待所有三个值显示“ 0”,然后单击“跑”。 过了一秒钟,Direct消失,Count显示1而Copy显示0. 一秒钟后收到 计算及其可见的衍生物应一致公布。

时间轴 : 从“@solidjs/web” 导入{ perfer}; 从 “ solid-js” 导入 { create Memo, createSignal, 最新, Show } ;

const 延迟 = <T = 无效, > (ms: 数字, 值?: T) QQ 新承诺(r QQ setTimeout (r, ms, value) ) ;

导出默认函数 App () { 算法 [count, setCount] = 创建 Signal( 0); const [show, setSshow] =创建Signal(真); c. [直接,设置Direct] = 创建Signal(真实); const 细节 = 创建Memo( ( ()) QQ 延迟( 1500) ; const copy = 创建Memo(细节);

返回 QQ 键 < 点击 Click QXasync () > {{ setShow(假名); 等待延迟( 500); 设置(1); 最新(副本); 等待延迟( 500); 设置显示( 真) ; 设置 Direct( 假); QQun </按钮 >

国家:{count ()}

{p> 指令:{details ()}\/p>

代码:{show( )? 副本( ) :"隐藏"}\/p> < / > ; (中文(简体) ) {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

渲染 (( ()) QQ < App / >, 文档. get ElementById ("root")!) ;


□ 被送去的拖车

这是最初的评论A。 该信号及其同步身份备忘录在实际效果回调上存在分歧:`[1,0,1]',然后是`1,1,1'. PR前的下个控制(`3ae9e921')只提供`[1, 1, 1'.

< 细节>
<摘要 > 分层核心复制(TypeScript;顶层等待) </摘要 >


从“@solidjs/ signals”中导入{创建Memo、创建Render Effect、创建Root、创建Signal、冲洗};

const 勾选 = () QQ 新的承诺 < void > (r > set Timeout(r, 0));
c. 请求:(( ()                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
c. 记录:编号[][]=[];

针头
. . . . . . .

内容来源: solidjs/solid

查看 GitHub 原文在 GitHub 查看讨论