React Native Image.prefetch如何工作?

Ily*_*off 8 react-native

有人可以解释一下RN Image.prefetch是如何工作的吗?我已经阅读了文档和示例,但我无法得到,那里发生了什么.

  1. 当我们预取图像一次时,是否会自动从缓存中加载,当我想在其他地方使用它时,或者我需要手动进行一些检查?

  2. 当我需要调用Image.prefetch方法时:componentWillMount例如在图像渲染之前或在loadEnd回调中加载图像之后,就像在docs示例中所示?

提前感谢您的回答.

Ale*_*vic 4

文档中给出的示例似乎令人困惑,但实际上非常简单。您提前预取图像,当您想要显示它们时,只需像平常一样使用 Image 组件即可。例如,在某些初始场景中,您可以ActivityIndicator在预取所有图像时显示,一旦完成,只需显示图像,就像没有预取一样。

回答您的问题:

  1. 图像将自动从缓存加载,无需手动检查。确保不要再次卸载/安装进行预取的场景,因为它将再次开始加载图像。
  2. 在图像渲染之前,最好在渲染显示图像的场景时渲染图像之前的某些场景。您可以用来onLoadEnd了解何时显示下一个场景。您可以用来componentWillMount进行预取,只需渲染其他内容ActivityIndicator,例如在预取完成后渲染图像。

希望能帮助到你。

  • 我没有说如果卸载图像组件就会被丢弃。我难过的是,如果您预取的组件被卸载,那么它就会被丢弃。不需要在使用图像的同一组件中进行预取。 (2认同)